В конце лета 1380 года в Москву стали поступать сведения о готовящемся нашествии. Дмитрий Иванович начинает спешно собирать свои войска и войска союзников. Сбор их произошел в Коломне 15 августа 1380 года, в день Успения Пресвятой Богородицы. После смотра собравшихся полков на Девичьем поле, 20 августа, русская армия двинулась вверх по течению Оки, отрезая дорогу собиравшемуся идти на соединение с Мамаем литовскому войску. У города Лопасни московский князь получил сообщение, что орда Мамая стоит на реке Красивая Меча. Тогда русские князья решили выступить к Дону и на этой реке дать сражение врагу. Переправившись у села Прилуки через Оку, полки Дмитрия Ивановича тремя дорогами двинулись на юг. Одной дорогой шел двор Дмитрия Ивановича, другой – полки его двоюродного брата Владимира Андреевича Серпуховского, третьей – полки так называемых «подручных» князей – белозерских, ярославских, ростовских. К войску великого князя присоединились также отряды из Суздальского, Тверского и Смоленского великих княжеств, полки литовских князей Дмитрия и Андрея Ольгердовичей, новгородцы.
5 сентября войска подошли к Дону. Московский князь вновь собрал своих воевод, чтобы решить, где встретить татар. Мнение советников разделились. Некоторые считали, что с татарами надо биться на северном берегу реки, другие предлагали идти за Дон. Их мнение поддержал и Дмитрий Иванович. Сражение произошло на Куликовом поле за рекой Дон 8 сентября 1380 года.
В исторической литературе приводятся разные данные о численности русских и ордынских войск. Наиболее убедительными выглядят утверждения о том, что под стягом Дмитрия Ивановича собралось около 50–60 тыс. воинов. Мамай привел на Куликово поле не более 90 тысяч воинов (Ю. В. Селезнев).
Перед битвой русское войско было построено в традиционном боевом порядке. Большой полк и весь двор московского князя встали в центре. Ими командовал московский окольничий Тимофей Вельяминов. На флангах находились Полк правой руки под командованием литовского князя Андрея Ольгердовича и Полк левой руки князей Василия Ярославского и Федора Моложского. Впереди, перед Большим полком, стал Сторожевой полк князей Семена Оболенского и Ивана Тарусского. В Зеленую Дубраву, вверх по Дону, был отправлен Засадный полк во главе с Владимиром Андреевичем Серпуховским и Дмитрием Михайловичем Боброком-Волынским.
По летописным данным, сражение шло около 3 часов и отличалось крайним ожесточением с обеих сторон. Исход его решил удар засадного полка, еще до начала битвы размещенного за основным фронтом русского расположения в Зеленой Дубраве.
Весной 2006 года очередная археологическая экспедиция на Куликовом поле, использовав георадар новой конструкции, выявила с его помощью «шесть объектов, расположенных с запада на восток с интервалом 100–120 м». По версии ряда ученых, это и есть захоронения погибших. Они утверждают, что костная ткань за это время оказалась полностью деструктурирована агрессивной черноземной средой. Однако другие историки отмечают, что это не объясняет отсутствия в этих могильниках металлических предметов типа нательных крестов, обязательных при христианских погребениях.
Сведения о Куликовской битве содержатся в четырех основных древнерусских письменных источниках. Это «Краткая летописная повесть о Куликовской битве», «Пространная летописная повесть о Куликовской битве», «Задонщина» и «Сказание о Мамаевом побоище». О битве упоминается в договорах Москвы с рязанскими князьями, в «Слове о житии и преставлении великого князя Дмитрия Ивановича» и в «Житии Сергия Радонежского», в рассказах немецких хронистов Иоганна Посильге, его продолжателя Иоганна Линденблата и Дитмара Любекского, автора «Торуньских анналов».
Считается, что после Куликовской битвы Дмитрий Иванович стал именоваться «Донским», а его двоюродный брат Владимир Андреевич – «Храбрым». Но в действительности такое прозвание московского князя встречается первый раз в «Степенной книге царского родословия» начала 1560-х годов, а затем в разрядных книгах рубежа XVI–XVII вв.
Завершение войны с Ордой. Поход Тохтамыша 1382 года и разорение Москвы
Победа на Куликовом поле все же не стала решающей в русско-ордынской войне. Мамай после поражения бежал в степи. В том же году хан левобережной Орды Тохтамыш выступил против Мамая. Тот не сумел восстановить силу и мощь своего войска после Донского сражения, поэтому, когда войска Мамая и Тохтамыша сошлись на реке Калка, то большинство мамаевых мурз, видя превосходство противника, перешло на сторону Тохтамыша вместе со всеми своими воинами. Мамай вновь бежал, на этот раз в Крым, в Кафу, не был принят генуэзцами, снова бежал, был настигнут и убит воинами своего врага. Так, Тохтамышу благодаря этой победе удалось, наконец, объединить расколотую на две части Орду и прекратить шедшую там замятню.