В это время в Золотой Орде состоялся новый переворот: вроде бы укрепившийся в Сарае хан Тохтамыш после разгрома Тамерланом был атакован своим конкурентом Темир Кутлуем и вынужден бежать в Киев под защиту литовского наместника Витовта. Татары, пришедшие вместе со своим ханом, были расселены в районе Вильнюса и Гродно. Эти события в Орде послужили к принятию решения Витовтом не только помочь хану Тохтамышу вернуть власть в Орде и навсегда уничтожить какую-либо зависимость Литвы от Золотой Орды, но и получить обещанный Тохтамышем ярлык на владение Великим княжеством московским и владимирским, а также Рязанским княжеством. Под Киевом были собраны литовские, они же и русские, польские, татарские войска и войско Тевтонского ордена. Папа Бонифаций IX объявил крестовый поход против иноверцев, назвав Литву передовым бастионом католичества.
Сбор такой серьезной по количеству и качеству рати не устрашил хана Темир Кутлуя, который прислал к князю Витовту посла с требованием выдать ему Тохтамыша и заключить мир. При этом в летописях упоминается даже согласие хана Темир Кутлуя платить дань князю Витовту взамен на выполнение его требований. Но ничто не смогло поколебать желания князя Витовта сразиться с войском Золотой Орды, и сражение состоялось в августе 1399 г. на реке Ворскле, притоке Днепра в современной Полтавской области Украины. Однако ни наличие тяжелой и легкой конницы, ни использование огнестрельного оружия в виде пищалей и пушек не помогли князю Витовту одолеть хана Темир Кутлуя и подошедшего к нему на помощь основателя Ногайской орды хана Едигея.
Несмотря на присутствие в его войске татар во главе с ханом Тохтамышем, знающих досконально тактику ведения войск степняков, князь Витовт поддался на ложное отступление татар, увлекся погоней и пропустил момент, когда часть татар зашла союзному войску в тыл и начала разгром. Битва закончилась полным поражением армии князя Витовта, татары преследовали и добивали отставших воинов до самого Киева. Хан Тохтамыш, воспользовавшись неразберихой, ушел с частью своего войска в Сибирь, где и погиб в 1406 г. от руки сибирского хана Шадибека. Вот как эти события описывает Типографская летопись:
«Князь великий Витофтъ Литовский събра воя многы, а с нимъ бе царь Тахтамышъ съ своимъ дворомъ, а с Витофтомъ Литва и Немцы, Ляхи, Жемоть, Татарове, Волохи, Подоляне, единехъ князей с нимъ бе 50 числомъ, и бе сила ратныхъ велика зело, съ всеми сними полкы, съ многочисленными ратми ополчился, поиде на царя Темирь Кутлуа и на всю его силу Татарьскую. Похвалився Витовтъ, глаголаше с Тахтамышемъ: „Азь тя посажю въ Орде на царстве, а ты мене посади на Москве на великом княжение“. А на томъ поидоша на царя Темирь Кутлуя. А царь Темирь Кутлоуй в то время приспе съ многыми своими полкы ратными, и сретошяся с Витовтомъ обои в поле на реце на Воръскле, и бысть имъ бой великъ, месяца августа въ 12 день. Надолзе же бьющимся, поможе Богъ Татаромъ, и одоле Темирь Коутлоуй и победи Витовта и всю силоу Литовскую, и убеже Витовтъ в мале дроужине, и Татарове погнаша по нихъ, секоуще. А Тахтамышъ царь, бежачи с бою того, много пакости оучини земли Литовской» [56, 262].
Разгром армии князя Витовта показал, что королевская корона еще может подождать своего хозяина, а Золотая Орда обладает пока военной силой, достаточной для решения своих задач в Восточной Европе. Вот только хан Темир Кутлуй вскоре умер, ему наследовал сын Шадибек. В Польше, где в это время была сложная династическая ситуация, король Владислав сообщил своему двоюродному брату князю Витовту, прибывшему на похороны королевы Ядвиги, что в случае попытки Литвы отделиться от Польши он, скорее всего, потеряет свой королевский пост и вынужден будет вернуться на родину в качестве великого князя литовского. Братья сумели договориться и продемонстрировали польской знати, что в объединенном государстве есть еще и литовская армия, которая может защитить своего представителя на посту короля Польши. Эти договоренности были оформлены Вильнюсским и Радомским актами 1401 г., по которым литовская знать гарантировала верность польской короне, а польская знать обязалась поддерживать безопасность Литвы и привлекать литовцев к выборам короля. Витовт же стал, согласно этим актам, пожизненным великим князем литовским.
Понимая, что другого случая возвратить себе Смоленское княжество может не представиться, князь Юрий Святославич попытался использовать ослабление Литвы после битвы на Ворскле и в союзе с рязанским князем Олегом Ивановичем осадил Смоленск в 1401 г. В городе оказалось много сторонников князя Юрия Святославича, которые открыли ему ворота Смоленска, за что и поплатились. Вместо благодарности смоленский князь приступил к репрессиям, казнив не только литовского наместника Романа Михайловича Брянского, но и множество смоленских бояр. Великий князь Витовт с войском и пушками очень быстро пришел к Смоленску; смоляне, понимая, что со своим природным князем им тоже не ужиться, хотели вновь без боя открыть ворота литовцам. Узнав об этой крамоле, смоленский князь умертвил чуть ли не всех, еще остававшихся в живых, жителей города. Однако князю Юрию Святославичу с пришедшим вместе с ним гарнизоном удалось отстоять город и заключить с князем Витовтом перемирие. Пытаясь развить успех, рязанский князь послал сына Родслава с войском захватить Брянск, но Семен (Лугвень) Ольгердович со своим двоюродным племянником стародубским князем Александром Патрикеевичем разбил войско рязанского князя, а его сына взял в плен.
В 1403 г. князь Семен Ольгердович занял Вязьму, пленив тамошнего князя Ивана Святославича, а в 1404 г. уже сам великий князь Витовт еще раз осадил Смоленск, но и в этот раз, несмотря на обстрел города из пушек в течение семи недель, вынужден был отвести войско для отдыха. Воспользовавшись передышкой, смоленский князь, оставив в городе жену, поехал в Москву просить помощи у великого князя Василия Дмитриевича, предлагая ему взять Смоленское княжество в состав великого княжения. Однако великий князь московский не захотел ссориться со своим тестем и отказался помогать князю Юрию Святославичу. А великий князь Витовт, воспользовавшись отсутствием смоленского князя, тайно связался с оставшимися в живых жителями Смоленска, и те при значительном количестве в городе сторонников Юрия Святославича сумели открыть ворота литовцам, сдав им город. В городе вновь полилась кровь, теперь уже сторонников князя Юрия Святославича, а его жену великий князь Витовт отослал в Литву.
И все же мир между Великим княжеством Литовским и Великим княжеством Московским был нарушен. Виновником ссоры был сам Витовт, который напал на владения Пскова одновременно с Ливонским орденом. Псковитяне выстояли в этой борьбе, но, понимая силу и возможности своих противников, обратились к великому князю московскому за помощью и подтверждением своей вассальной зависимости. Великий князь Василий I, видя, что, отдав и этот город Литве, он вскоре лишится какого-либо влияния и на Великий Новгород, решил оказать помощь Пскову. Хотя псковитяне признавали свою вассальную зависимость по обстоятельствам – то от Литвы, то от Москвы.
Великий князь Василий I послал на помощь Пскову своего брата Константина Дмитриевича и стал готовить войско. Великий князь Витовт предоставил возможность первым напасть зятю. Московское войско попыталось захватить Серпейск, Козельск и Вязьму, но из этого ничего не вышло. Тогда великий князь московский Василий I обратился к татарскому хану Шадибеку и получил от того в помощь несколько татарских полков. Однако литовские и московские войска, встретившись осенью 1406 г. возле Крапивны на реке Упе в современной Тульской области, вновь предоставили своим правителям возможность договориться о мире.
Стороны заключили перемирие до следующего лета и тогда опять стали тревожить друг друга мелкими стычками: Витовт захватил Одоевское, Воротынское, Новосильское и Перемышльское княжества в верховьях Оки, а Василий I взял и сжег некий Дмитровец. После этих событий было заключено новое перемирие, во время которого в Москву «отъехали» из Литвы князь Свидригайло Ольгердович с епископом черниговским, звенигородский князь Патрикей Наримонтович с сыном, ореховецкий князь Александр, путивльский князь Федор Александрович, перемышльский князь Семен, хотетовский князь Михаил, минский князь Урустай со своими боярами. Обрадовавшись такому пополнению Гедиминовичей в своем стане, великий князь Василий Дмитриевич дал в кормление князю Свидригайло Владимир-на-Клязьме со всеми волостями и селами, Переяславль-Залесский, Юрьев-Польский, Волок Ламский, Ржев и половину Коломенского княжества, как сказано в летописи, «едва ли не половину» своих владений, не обидел и других перебежчиков.