Татарский хан Тохтамыш недолго продержался на крымском престоле, после того как его туда в 1398 году посадил великий князь литовский Витовт. Сбежав из Крыма от прогнавшего его Тамерлана, Тохтамыш снова явился к Витовту с проcьбой помочь в борьбе за власть в Орде. В обмен на военную помощь, Витовт запросил у Тохтамыша ярлыки на Москву (специальные договоры о размере ежегодной дани), Псков, Новгород и Рязань, и, получив обещания хана, начал собирать войска.
С армией, которая насчитывала от 40 до 70 тысяч воинов, он выступил в поход из Киева 18 мая 1399 года. Двигаясь по левому берегу Днепра, войско Великого княжества Литовского 5 августа достигло места, где река Ворскла впадает в Днепр. Там они и остановились. Разбив военный лагерь из окованных возов и цепей, литвины стали ждать подхода татарских войск.
Хан Темир-Кутлуй встал с войском на противоположном береге Ворсклы и затеял переговоры лишь для того, чтобы потянуть время до подхода к реке войск крымского эмира Едигея. Великий князь литовский Витовт, отправил предложение в котором предлагал Темир-Кутлую, покориться и платить ему дань. Темир-Кутлуй ответил, что ему надо три дня на размышление и для начала прислал в литовский лагерь много скота, чтобы солдаты из-за нехватки провианта не начали требовать от Витовта скорого нападения на татар. Самоуверенный Витовт, ничего не подозревая, согласился ждать.
Вскоре подошёл Едигей со своей армией, и теперь татарские войска стали намного больше литовских. Переговоры возобновились вновь. Темир-Кутлуй отказался от предложения Витовта, а Едигей, чтобы выманить войска Витовта в открытый бой на поле, где легкая и быстрая татарская конница имела преимущества перед тяжёлой кавалерией ВКЛ, ответно предложил Витовту покориться и платить дань. Разгневанный Витовт вернулся в лагерь, и, несмотря на разумные предложения своих советников остаться в лагере и принять бой под защитой пушек и окованных железом телег, решил, что сможет побить превосходящих числом татар в открытой битве на поле.
Битва состоялась 12 августа 1399 года, за два часа до заката солнца, хан Едигей, чтобы выманить Витовта из лагеря, начал движения вдоль по берегу реки. Витовт последовал за ним, оставив позади свой лагерь под защитой Тохтамыша с его войсками и армию Темир-Кутлая. Первыми начали бой татары. Переправившись через брод, они стремительно двинулись в атаку, и завязался тяжелая битва. Оставшийся позади Витовта Темир-Кутлай, переправился через Ворсклу и напал на лагерь литвинов, который должен был защищать хан Тохтамыш, но вместо этого он разграбил его и трусливо бежал. Темир-Кутлай захватив лагерь, зашёл Витовту в тыл.
Войска литвинов оказались в окружении, и спустя некоторое время были полностью разбиты, а сам Витовт едва спасся и блуждал несколько дней по степи. Татары преследовали остатки литовских войск 500 вёрст, убивая всех, кого смогли догнать. В этой битве пало более пятидесяти князей литовских и очень много простых воинов.
Татары, разбив литовские войска, разделились на две части. Едигей вернулся в Крым, а Темир-Кутлай двинулся на Киев, где все же раньше оказался Витовт и сумел подготовить город к осаде. Став под стенами города, Темир-Кутлай не отважился штурмовать город и, взяв с Киева выкуп, вернулся в степь.
После поражения на Ворскле ВКЛ значительно ослабла, что привело к потере Смоленска, а также возобновились нападения Тевтонского ордена. Рязанский князь Олег совершил грабительский рейд по Полоцкой земле, и Витовту пришлось заново подписать унию с польским королём Ягайло.
Татары, несмотря на свою победу, потеряли значительную часть своей армии, что не позволило им осуществить задуманный набег на Европу, они даже не смогли вернуть под свою власть земли Причерноморья и Нижнего Поднепровья. Вскоре, от полученных ран на Ворскле, умирает хан Темир-Кутлай, а в Золотой Орде снова начинается междоусобная война, которая в итоге приведёт её к упадку.