В 1385 г. Олег Рязанский приготовился отомстить Дмитрию за удар, который тот нанес ему за помощь Орде в войне с Москвой. Он захватил Коломну, и вслед за этим между двумя князьями разразилась кровопролитная война. Московское войско возглавил Владимир Храбрый. Рязанский князь понес тяжелые потери, но и Дмитрий тоже. Одно сражение особенно отличалось упорством; много лучших воинов с обеих сторон были убиты. Дмитрий предложил заключить мир, но Олег был заносчив – какие бы предложения ему ни делали, он отвечал на них дерзко. Великий князь, который сильно горевал из-за порабощения монголами, был подавлен бесконечными раздорами между князьями, поэтому он послал в Троицкий монастырь гонца, чтобы упросить святого Сергия поехать к Олегу с поручением.
Сергия почитали во всей Руси, и, как пишет летописец, он славился дарами Святого Духа. Он так побеседовал с Олегом, что тот забыл свою злобу, и между князьями был заключен окончательный мир. После этого не было войн ни между Олегом и Дмитрием, ни между их потомками. В том же 1385 году сын Олега Федор женился на дочери великого князя Софье. Следующим шагом Дмитрия было вразумление Новгорода. Рассчитывая на слабость Москвы после войны с Олегом, Новгород стал пренебрегать выполнением всех своих обязательств, и только после нападения на город, в котором Дмитрию помогали многие князья, Дмитрий настоял на своем. Тогда Новгород заплатил все долги и подписал новый договор.
После того как сын Дмитрия провел в Сарае около трех лет, князь получил у хана разрешение на его возвращение. Освободившись наконец из заключения, молодой князь поспешил уехать с великой радостью. Однако до возвращения в Москву он провел год в Румынии и Западной Руси. Затем поехал в Луцк, чтобы повидать Витовта, дочь которого Софья была той молодой женщиной, которая очаровала его. Мать Витовта Бирута славилась красотой и привела в восхищение Кейстута – отца Витовта. Красота Бируты, наверное, проявилась в ее внучке. Жена Витовта Анна, которая спасла его от плена и смерти, вероятно, тоже внесла свою долю привлекательности. Во всяком случае, Софья была красивой девушкой. Дмитрий послал своих бояр сопровождать Василия в его поездке домой и поручил им склонить Витовта к дружбе. В этом они преуспели, и Василий покинул Луцк, помолвленный с Софьей.
Встреча этого молодого человека с отцом после четырех лет разлуки была радостной. Дмитрий решил, что настала пора объявить его своим наследником – будущим великим князем.
Среди множества проблем, которые должен был решать Дмитрий, проблема престолонаследия тяготила его больше всего. Сделав свое княжество центральными землями всей Руси, сыновья и внуки Ивана Калиты поставили Москву на беспримерную высоту и поэтому смотрели на свое наследство иначе, чем другие. Дмитрий хотел установить в своем роде право старшего сына на наследование престола. Стремлению к этому благоприятствовал ряд причин. Симеону Гордому – сыну и наследнику Ивана Калиты его младшие братья Иван и Андрей подчинялись как собственному отцу. Симеон умер, не оставив наследников; почти одновременно с ним умер и Андрей, так что, когда Иван княжил в Москве после Симеона, у него не было братьев. После смерти Ивана его преемником стал единственный сын Дмитрий, брат которого Иван рано умер, так что существовал лишь один потомок Ивана Калиты, который был современником Дмитрия, – его двоюродный брат Владимир Андреевич. Владимир, получивший впоследствии прозвище Храбрый, был всю свою жизнь верным товарищем Дмитрия. Они были «единым человеком», как говорили люди, знавшие их. Дмитрий стал великим князем в возрасте двенадцати лет, а двоюродный брат был его моложе. Столпы Московского княжества – опекуны Дмитрия и Владимира установили в договоре положение каждого князя по отношению к другому. В нем говорилось, что отец Андрея обязался служить своему старшему брату без ослушания, а его княжеству – верой и правдой. Владимир получил во владение лишь то, что принадлежало его отцу Андрею, тогда как Дмитрию отошло все остальное, то есть то, чем владел его отец Иван и его дядя Симеон. Он также сохранял за собой право в определенных случаях казнить бояр Владимира.