После поражения на Реке Воже темник, а фактически правитель Золотой Орды Мамай начал готовиться к походу на Русь. В этом он нашел поддержку у литовского князя Ягайло и связал обещаниями рязанского князя Олега. Летом 1380 года огромное войско Мамая переправилось через Волгу и остановилось в устье р. Воронеж. По свидетельству русского летописца, Мамай «рати нанял бесермен и армян, фрязей (итальянцев), черкесов, ясов, буртасов». По-видимому, численность войска Мамая могла достигать 100 тысяч человек.
Московский князь Дмитрий, готовясь к решительной борьбе, известил всех русских князей о нависшей опасности и призвал их объединить усилия для отражения врага. В это время в Москву прибыли послы Мамая требовать обычной дани и покорности. Дмитрий одарил послов и от себя послал в Орду с богатыми дарами боярина Захария Тютчева для переговоров о мире. Тютчеву удалось известить Дмитрия о том, что Олег Рязанский и Ягайло присоединились к Мамаю для похода на Москву.
Тем временем ополченцы, конные и пешие, разными путями шли в Москву. Снаряжение и вооружение ратников различалось в зависимости от социального положения и достатка: профессиональные воины — дружинники, а также богатые и знатные ехали на крупных боевых конях, были одеты в кольчуги, с элементами пластинчатого доспеха, несли прочные составные щиты, металлические шлемы, копья, длинные мечи или сабли, мощные боевые луки; бедные ополченцы, как правило, были облачены во фрагменты кожаного доспеха (кожаные шлемы, нагрудники, наручи, поножи), несли рогатины-копья, метательные сулицы, охотничьи луки, короткие мечи. Некоторые несли ударное вооружение — топоры, палицы-булавы, шестоперы, кистени.
Сбор русских военных сил был назначен в Коломне. Получив сведения об этом, Мамай послал к Дмитрию посла для мирных переговоров. Но договориться не удалось.
26 августа московское войско численностью 20—25 тысяч человек достигло Коломны. Из других княжеств пришло от 20 до 60 тысяч ратников. Таким образом, в поход против золотоордынцев выступило, по разным оценкам, от 40 до 80 тысяч дружинников и ополченцев (последние составляли около 70—80%). Первоначально войско было организовано в полки
под командованием 23 князей и воевод. Позже к ним присоединились псковские и брянские дружины под началом двух литовских князей — братьев Ягайло.
В тот же день Дмитрий произвел смотр русской рати и отдал приказ об организации ее для похода и боя. Прибывшие полки были сведены в пять тактических единиц — передовой (сторожевой) полк, большой полк, полки правой и левой руки и засадный («западной») полк.
Оценив обстановку и стремясь не допустить соединения Мамая и Ягайло, Дмитрий решил идти навстречу золотоордынскому войску. Двигаться было решено по окраинным рязанским землям. Дмитрий приказал всем, чтобы при движении по Рязанской земле «никто же не коснулся ни единому власу» рязанцев.
30 августа русская рать переправилась через Оку у устья р. Лопасня и направилась затем к верховьям Дона. Конная разведка сообщала о передвижениях и численности неприятельского войска. Наконец, 5 сентября войска вышли к устью р. Непрядва, где и сосредоточились, пройдя за семь суток расстояние около 125 км. На военном совете в деревне Чернова было решено переправиться на правый берег Дона и принять битву. В спешном порядке началось строительство мостов, одновременно разведывались броды. Переправа через Дон завершилась в ночь на 7 сентября. После этого были уничтожены мосты, чтобы никто не думал об отступлении.
Переправа через Дон имела не только моральное, но и тактическое значение, предопределив дальнейший ход действий. Переправившись и уничтожив за собой мосты, нужно было действовать наступательно.
7 сентября сторожевой отряд Семена Мелика вступил в бой с передовыми частями Мамая.
Узнав о приближении неприятеля, находившегося в тот момент на расстоянии ночного перехода, Дмитрий построил рать Для боя. Под прикрытием сторожевого полка под командованием князей Симеона Оболенского и Ивана Тарусского и «крепких сторож» на флангах Боброк «урядиша полци... елико где коему подобает стояти». В центре боевого порядка находился полк князя московского Дмитрия, на флангах — полки правой и левой руки, общим резервом являлся засадный полк, в частном резерве, за левым флангом большого полка, находилась дружина под командованием литовского князя Дмитрия Ольгердовича. Боевой порядок русской рати имел большую тактическую глубину, что позволяло полководцам влиять на ход сражения. В ночь на 8 сентября войскам был отдан приказ оставаться в боевом порядке и готовиться к утреннему бою. Засадному полку Дмитрий приказал расположиться в Зеленой Дубраве — большой дубовой роще юго-восточнее устья Непрядвы.
Утром 8 сентября над холмистой местностью, известной под именем Куликова поля, долго стоял густой туман. К 11 часам туман рассеялся, и русская рать двинулась вперед. Навстречу ей выступили войска Мамая, имея в центре боевого порядка наемную пехоту, а на флангах конницу. Неприятель имел численное превосходство, но не мог его реализовать из-за плохой видимости и ограниченного фронта развертывания: равнинная (центральная) часть поля имела по фронту всего 4—5 км и столько же в глубину.
Затем русский сторожевой полк выдвинулся вперед и более часа бился с неприятелем в полуокружении. Мамай наблюдал за ходом битвы с Красного холма (в б-—7 км южнее устья Непрядвы), где находилась его Ставка.
Когда Дмитрий увидел, что сторожевой полк истекает кровью в неравной схватке с неприятелем, он вернулся к своим главным силам, чтобы ввести их в бой. В двенадцатом часу дня главные силы русских двинулись навстречу татарам. Полк правой руки примкнул к оврагам и перелескам у речки Нижний Дубяк; полк левой руки уперся в крутогорья речки Смолка. Условия местности не позволяли татарской коннице обойти фланги русского боевого порядка. Это вынуждало неприятеля наносить главный удар в центре. «И тако сступишася обе силы великиа на бой, —- сообщает летописец, — и бысть брань крепка и сеча зла зело, и лиашеся кровь, аки вода, и падоша мертвых множество бесчислено от обоих сил, от татарскиа и русскиа...; всюду бо множество мертвых лежаху, и не можаху кони ступати по мертвым; не токмо же оружием убивахуся, но сами себя бьюще, и под коньскыми ногами умираху, от
великие тесноты задыхахуся, яко немощно бе вместитися на поле Куликове...»
Самым устойчивым оказался правый фланг русского боевого порядка, отразивший все атаки. Но в центре, где разворачивались главные события, после трех часов битвы противник стал одолевать. Но стойкость владимирских и суздальских полков во главе с Глебом Брянским и воеводой Вельяминовым позволила восстановить положение и предотвратить прорыв неприятелем фронта большого полка.
Тяжелая обстановка складывалась на левом фланге, где под натиском превосходящих сил полк левой руки стал отходить к Непрядве. Неприятель постепенно охватывал левый фланг большого полка. Но ввод в бой резерва под командованием Дмитрия Ольгердовича устранил угрозу, нависшую над главными силами русской рати.
В это время в Зеленой дубраве Боброк удерживал князя Владимира Андреевича и своих воинов от преждевременного
вступления в бой, несмотря на очевидность нараставшего превосходства неприятеля.
Стремительный удар засадного полка определил перелом в ходе битвы. В наступление перешли полк правой руки и остатки большого полка. Татары стали в беспорядке отступать к Красному холму.
Мамай не стал дожидаться разгрома. С малой дружиной он бежал с поля битвы. Остатки разбитой татарской рати бежали в южном направлении. Русские преследовали их до р. Красивая Меча на расстоянии до 50 км, умножая потери неприятеля. Спаслись те, кто имел запасных коней, как, например, сам Мамай. Весь татарский лагерь попал в руки победителей.
Когда преследование противника закончилось, Дмитрий приказал произвести подсчет оставшихся в живых. По свидетельству летописца, русская рать после битвы насчитывала 40 тысяч воинов. Следовательно, потери убитыми, по летописным данным, превышали 20 тысяч человек, а с умершими от ран доходили до 25—30 тысяч. Восемь дней русские подбирали и хоронили своих товарищей.
Известный советский специалист по анализу военных потерь Б. Урланис пишет в своей книге: «О потерях русских в Куликовскую битву можно составить себе представление на основании сведений о числе погибших в бою бояр. В «Сказании о Мамаевом побоище» приводится число убитых бояр по отдельным княжествам. По нашим подсчетам, был убит 701 боярин, включая и «детей боярских». Поскольку бояре и «дети боярские» являлись в войске чем-то вроде офицерского состава, то можно предположить, что потери русских вряд ли превышали 10 тыс. человек убитыми».
28 сентября русская рать прибыла в Москву.
Успех русского оружия увеличил число сторонников объединительного процесса и «сообщил московскому князю значение национального вождя Северной Руси в борьбе с внешними врагами» (В.О. Ключевский). Почти все русские князья и земли выразили готовность биться с татарами.