Объединение русских земель происходило в очень сложной внешнеполитической обстановке. В 1395 году Тимур, разбив войска Тохтамыша, двинулся в русские пределы. Над Русской землей нависла страшная опасность. Москва начала готовиться к обороне. Василий Первый с войском направился к Оке. Но Тимур после двухнедельной остановки у границ Рязанского княжества не пошел дальше, а предпринял наступление на Золотую Орду и разгромил ее. Это было сразу же использовано московским правительством, переставшим уплачивать дань Золотой Орде.
Новая угроза надвинулась на Москву со стороны Литовского княжества. В 1398 году литовский князь Витовт заключил договор с Ливонским орденом, обязавшись помочь ему в захвате Пскова. Орден обещал со своей стороны оказать содействие Витовту в завоевании Новгорода. Вмешавшись в усобицы в Орде, Витовт принял к себе хана Тохтамыша, изгнанного Тимуром, и организовал в 1399 году поход на Орду с тем, чтобы, вернув Тохтамышу ханский престол, с его помощью подчинить русские земли. Однако этот поход окончился полным разгромом войсками эмира Едигея военных сил Витовта, в состав которых входили польские, немецкие, а также татарские отряды, приведенные Тохтамышем.
В это время в русских землях, захваченных Литвой, ширилась освободительная борьба. В 1401 году в Смоленске поднялось антифеодальное движение «черных людей». Наместник Витовта и ряд бояр были убиты. Только в 1404 году Витовту удалось снова овладеть Смоленском. Еще в 1403 году литовские войска захватили Вязьму.
В 1406 году Витовт вторгся в пограничные земли Московского княжества. Угроза Новгороду вызвала в 1406 — 1408 годах походы московских военных сил против Витовта. Обнаружившаяся во время русско-литовской войны тяга населения русских земель Великого княжества Литовского к Руси побудила Витовта к заключению мира. К этому же толкала Витовта и усилившаяся агрессия против Литвы со стороны тевтонских рыцарей.
В результате борьбы среди татаро-монгольских князей власть в Орде перешла к ставленнику Тимура Едигею. В 1408 году он совершил поход на Москву с целью восстановить прежнюю зависимость Руси от Орды. Войска Едигея подвергли разорению Серпухов, Дмитров, Ростов, Переяславль, Нижний Новгород и другие города. Москва также была осаждена, но овладеть ею Едигей так и не смог. Простояв около месяца под Москвой, Едигей потребовал трехтысячный «окуп» с москвичей и снял осаду.