Великий князь Витовт, возможно, и достиг бы своей заветной мечты превратить Великое княжество в королевство, если бы не трагическое поражение на реке Ворскле. Бывший хан Золотой Орды Тохтамыш, который проиграл войну за ханский престол Темир-Кутлую, ставленнику Тамерлана, правителю Средней Азии, заключил союз с Витовтом. Тохтамыш отказывался от власти над украинскими землями, но хотел вернуть с помощью Витовта ханский престол. Витовт согласился помочь. «Я обеспечил навсегда мир и независимость Литвы от меченосцев, теперь я должен освободить и остальных христиан от гнета иных угнетателей», — объяснял Витовт цель своего союза с ханом Тохтамышем.
Осенью 1398 года Витовт ходил с войском в Крым и 8 сентября взял Каффу (современную Феодосию). Он посадил там править хана Тохтамыша, но тот недолго продержался в Крыму. Темир-Кутлуй прогнал его оттуда, и Тохтамыш опять обратился за помощью к Витовту.
Для войны с татарами Витовт собрал практически все силы своего государства. Историки называют цифру в 70 тысяч человек против 200 тысяч воинов Золотой Орды. Хотя эти цифры явно завышены, но все равно битва на реке Ворскле была крупнейшей в то время.
Во время похода в Крым в 1398 году Витовт достиг Черного моря и, по преданию, проехал по мелководью на коне, показав этим, что берет море под свою власть
Четвертого мая 1399 года папа римский Бонифаций IX издал буллу, которой предписывал костелу в Польше и Великом Княжестве поддержать крестовый поход против татар. Но польский король Ягайло выступил против намерения Витовта, и в итоге к нему пришел лишь небольшой отряд поляков в 400 человек.
В поход в «Дикое поле» — так назывались раньше украинские степи — Витовт выступил из Киева 18 мая 1399 года. Войско шло по левому берегу Днепра. Пятого августа оно достигло реки Ворсклы и возле впадения ее в Днепр остановилось. За рекой в степи уже расположились воины хана Темир-Кутлуя. Хан ждал на подмогу войско крымского правителя эмира Едигея, а поэтому, чтобы выиграть время, вступил с Витовтом в переговоры. Витовт был уверен в своей победе и потребовал от хана полного подчинения ему:
— Бог покорил мне все земли, покорись и ты мне, и будь мне сын, я тебе отец, и давай мне на всякое лето дань и оброки; если мне не хочешь такое, да будешь мне раб, а я Орду твою всю мечу предам.
Хан попросил три дня на раздумье. А чтобы воины Витовта из-за недостатка еды не стали требовать от него начать битву, прислал в лагерь князя отары овец, стада волов и иной провиант. Витовт не разгадал хитрость хана.
Тем временем подошел с крымскими татарами Едигей. Когда он услышал о требовании Витовта, то воскликнул:
— О царь, лучше нам смерть принять, чем этому быть!
На переговорах с Витовтом Едигей выдвинул свои условия:
— Справедливо взял ты вольного нашего царя Великой Орды в сыны себе, потому что ты стар, а вольный наш царь Великой Орды Темир-Кутлуй молод; но надо тебе разуметь, что я стар перед тобой, а ты молод предо мною, и подобает мне над тобой отцом быть, а тебе у меня — сыном, и дань и оброки на всякое лето мне брать со всего твоего княжения, и во всем твоем княжении на твоих деньгах литовских моему ордынскому знамени быть.
Витовт на военном совете рассказал об условиях Едигея. Было решено сражаться с татарами. Как рассказывает польский хронист Бернард Воповский, Витовт потребовал от Едигея отступить за Дон. Взамен он готов был заключить мир с Тамерланом и верно его хранить. Едигей не согласился:
— Тамерлан, король королей, великий царь Азии, покоривший в кровавых битвах персов, турок, египтян, постановил также Европу к державам своим присоединить, а когда Польша и Литва подчинятся Тамерлану и прилежно будут платить дань и заложников поставят, отведу свое войско за Дон.
Витовт ответил, что его воинам свобода дороже, чем жизнь. Теперь они воевали не за ханский престол Тохтамыша и не за интересы Витовта, а за свободу своей Родины и всей Европы, на которую хотел вести свое войско хан Темир-Кутлуй.
В битве на Ворскле участвовал отряд рыцарей и воинов Тевтонского ордена
Войска вступили в битву 12 августа 1399 года. Началась она за два часа перед заходом солнца. Легкая татарская конница переправилась через Ворсклу и вихрем налетела на литвинов, которые встретили врага огнем орудий, тучей стрел из луков и арбалетов. А после оба войска сошлись в сече. Татары не выдержали натиска литвинов и шаг за шагом начали отступать к Ворскле. Витовт появлялся то в одном, то в другом месте и поддерживал боевой дух своих воинов. Они уже верили в близкую победу. Но оказалось, что их противником было лишь войско Едигея. А в это время воины Темир-Кутлуя переправились через Ворсклу возле лагеря Витовта. Тохтамыш, охранявший лагерь, разграбил его и трусливо бежал. Темир-Кутлуй зашел в тыл войску Витовта и ударил по нему. Литвины были окружены. Началось их избиение. Немногие вырвались из окружения.
В битве на Ворскле участвовал отряд из Московского княжества, который возглавлял князь Дмитрий Боброк. В знаменитой Куликовской битве с монголо-татарами князь Боброк командовал засадным полком и в решающий момент повел воинов в бой, тем самым обеспечив победу
Татары гнали литвинов много верст, «пролиша кровь, аки воду». Погибло 74 князя, среди них Андрей Полоцкий, Дмитрий Брянский, Глеб Смоленский, Михаил Заславский, Андрей Друцкий. Сам Витовт спасся с небольшим отрядом. Трое суток блуждал он по степи, пока не обратился с мольбой к своему проводнику — князю Ивану Глинскому, потомку Мамая:
— Пусть только выведут меня твои воины к моим городам или волостям, и я тебя теми городами и волостями пожалую.
Проводник вывел Витовта к городку Хоробля и получил его в дар.
Великий князь не терял присутствия духа. Он успел подготовить к защите Киев, а сам с запасными хоругвями поспешил к острову Тавань на Днепре, чтобы не дать переправиться здесь Едигею. Воины рвались в бой смыть кровью позор поражения. Ягайло прислал письмо с обещанием помощи, но Витовт ответил:
— Этого не требуется. Если не только Едигей, но и сам Тамерлан со всеми войсками отважится на переправу через Днепр, я смогу задержать его.
Едигей повернул в Крым. А войско Темир-Кутлуя дошло до Киева, но штурмовать его не рискнуло. Взяли лишь откуп — 3 тысячи рублей с города и 50 рублей с Киево-Печерского монастыря.
Благодаря мужеству воинов Витовта Золотая Орда понесла значительные потери. Хан Темир-Кутлуй и его покровитель Тамерлан не только не смогли совершить нашествие на Европу, но даже не вернули под свою власть украинские земли, Причерноморье и Нижнее Поднепровье. Вскоре раненный в битве на Ворскле Темир-Кутлуй умер. В Золотой Орде вновь начались междоусобицы, и татары не воспользовались своей победой.
В «Хронике Литовской и Жемойтской» описывается битва на Ворскле: «...А затем все татарское войско ринулось на наших с великим криком, труб слышны хрипатые голоса, бубны выдают голоса, кони ржут, "ала, ала" татары кричат, а наши христиане и литва, саблями и стрельбой из ручниц бьючи их, восклицают: "Господи помогай". Татары из луков безостановочно также стреляют. Дмитрий-Корибут в середину татар со своими вскочил и там секся долго, с коней татар валячи, аж его великий отряд окружил. Крик, гул отовсюду сражающихся, как волны морские под ветрами в бурю, пули, стрелы, как дождь, свистя, летят с обоих сторон в полях, как рой пчелиный; кричат, сабли, мечи гремят, доспехи от копий трещат. И в сече наших окружили татары, и начали наши слабеть от великости их войска. Видя это, Витовт в малой дружине вместе со Свидригайло счастливым способом убежал, а татары бьют, секут, но и самих татар несколько десятков тысяч погибло.