Для карательного похода на Русь Мамаю удалось собрать ужасающее войско из татар, ясов, касогов и генуэзской панцирной пехоты. Эмир должен был победить, иначе он потерял бы власть и был убит – за его спиной стоял законный хан Тохтамыш. Москва, усилиями митрополита Алексия получившая в Золотой Орде наследственное право на великое княжение, смогла собрать против Мамая только ростовских, ярославских и белозерских князей. Тверь, Новгород, Псков, Нижний Новгород воинов Дмитрию не дали. Несмотря на это, войска, собранные Москвой, были очень значительны.
Мамай договорился атаковать Москву вместе с войсками Великого князя Литовского Ягайло, с которым решил встретиться на Оке в сентябре 1380 года. Если бы союзники встретились, существование Московского государства было бы закончено, но этого не произошло. Дорогу литовцам перекрыла рать великого рязанского князя Олега, пошедшего на помощь Москве, несмотря на угрозу уничтожения собственного княжества. Мамаю на Куликовом поле пришлось биться с Москвой один на один.
На войско Золотой Орды из Москвы шли кованные московские полки, дружины и ополчения почти сорока русских городов, ярославцы, владимирцы, ростовчане, белозерцы, тарусские, стародубские, слецкие, моложские, оболенские, новосильские, брянские полки, добровольцы из Суздаля, Новгорода, Пскова, Твери, Смоленска, Литвы и Беларуси. Военные историки оценивают московское войско в пятьдесят тысяч воинов. У Мамая войск было вдвое больше.
Полковое построение русских ратей позволяло маневрировать, создавать эшелонированный в глубину и по фронту боевой порядок, прикрывать друг друга. Впереди на Куликовом поле 8 сентября 1380 года встали сторожевой и передовой полки. По фронту встали большой и полки правой и левой руки. За большим полком расположились резервные дружины. За левым флангом скрытно выстроился засадный полк. О построении войск Мамая ничего не известно, но обычно татары строились в две линии, с авангардом из легкой конницы. В центре находилась пехота, по бокам – левое и правое конные крылья, сзади располагался резерв.
Авангард Мамая атаковал русский сторожевой полк, смял и почти уничтожил его. Боевой порыв Золотой Орды еще уменьшил яростно дравшийся передовой полк. Мамай не мог использовать свое численное преимущество – русские фланги защищались болотистыми оврагами и небольшими речками. Два громадных войска столкнулись по всему фронту. Большой полк и правое крыло русских во главе с белорусско-литовскими князьями Дмитрием и Андреем Ольгердовичами не сдвигались ни на шаг, несмотря на колоссальное давление противника. Мамай бросил все силы на левый фланг русских, за которым находилось большое поле. Он хотел прорваться на него и атаковать русских с тыла. В ожесточенной рубке русские дружины стали медленно подаваться назад, и Мамай усилил натиск. На русском левом фланге сосредоточилась колоссальная масса войск. В строю образовались бреши, закрытые резервным полком и задними шеренгами большого полка. Эмир Золотой Орды бросил на левый фланг русских свой стратегический резерв и прорвал фронт. В образовавшуюся огромную брешь хлынули татарские воины. Прорвавшаяся масса золотоордынских войск подставилась под удар засадного полка и талантливый полководец князь Дмитрий Боброк-Волынский не оставил Мамаю ни одного шанса.
Сильнейший удар кованых московских ратей опрокинул войска Золотой Орды, которые начали беспорядочное отступление. Русские полки перешли в атаку по всему фронту, и татары откатывались везде. В потрепанных туменах начался хаос, и Мамай бросил в контратаку личную гвардию. Было уже поздно – удержать русские дружины, почувствовавшие вкус победы, было уже невозможно. В ужасающей четырехчасовой битве войско Мамая было уничтожено. Потери с обеих сторон были огромны. С Куликова поля в Москву вернулись не дружины и ополчения десятков городов и уделов, а русские люди, теперь жившие в одном большом государстве.