В 1375 году отношения между великим князем московским и Мамаем были окончательно разорваны. Военный союз русских князей становился реальной силой, и в Сарае это поняли. В ответ конные отряды золотоордынцев пограбили земли Нижегородского княжества. Тогда московские полки и рать Нижнего Новгорода совершила ответный поход на подчинявшийся Мамаю город Булгар и заставила его сдаться. Русские войска с богатой добычей возвратились домой.
Золотоордынцы решили провести против Руси крупную карательную операцию. Хан заволжской Синей Орды Араб-шах с большим конным войском двинулся на Нижний Новгород, на помощь которому пришли московские полки. Их воеводы, в отсутствие великого князя, вели себя крайне беспечно, не выставив в походном лагере дозоры, а большая часть тяжёлого оружия находилась в обозе. 2 августа 1377 года золотоордынцы, проведённые по тайным лесным тропам мордовскими князьями, внезапно обрушились на русский стан у реки Пары, правого притока реки Пьяны, и разгромили их. При бегстве много людей потонуло в реке или попало в плен. Татарская конница ворвалась в Нижний Новгород, опустошила его и сожгла. Нижегородскому князю удалось бежать. Опустошив окрестные волости, золотоордынцы ушли в степи.
Теперь поход большого, объединённого ордынского войска на Московскую Русь стал реальностью. Дело было лишь во времени.
В феврале 1378 года скончался митрополит всея Руси Алексий, который был надёжным сторонником и советником великого князя Дмитрия Ивановича. Для последнего это была огромная потеря.
Летом 1378 года Мамай послал большое войско во главе с тёмником Бегичем в поход на Русь. Но об этом в Москве от лазутчиков узнали заранее. Русская рать двинулась навстречу врагу и изготовилась к битве на берегу реки Вожи. Появление большого русского войска застало Бегича врасплох, и он несколько дней простоял на берегах Вожи, не решаясь её переходить.
Исследователи оценивают силы сторон в несколько десятков тысяч. Русскими командовал сам великий князь Дмитрий Иванович. Бегич решился на форсирование Вожи только во второй половине дня 11 августа. Однако на противоположном берегу вражескую конницу ждала ловушка. Большой полк во главе с Дмитрием Московским атаковал золотоордынцев в лоб, а с флангов удары нанесли полки правой и левой руки под командованием воеводы Т.В. Вельяминова и рязанского князя Данилы Пронского.
Произошла скоротечная конная сшибка, где главным оружием стало тяжёлое копьё. Русские ратники в сражении во всём превзошли золотоордынских воинов. Ордынская конница смешалась и начала беспорядочно отступать в Воже, тогда утонуло много татар. Преследование врага русские конники прекратили только под вечер.
Победа русского оружия в большом сражении на реке Воже имела принципиальное значение в отношениях Руси с Золотой Ордой. Это была первая в истории битва, выигранная русскими у ордынцев.
Поражение тёмника Бегича привело Мамая в неописуемую ярость: русские данники разбили войско Золотой Орды! В ответ золотоордынская конница во главе с Мамаем обрушилась на соседнее с Москвой Рязанское княжество. Стольный град Переяславль-Рязанский был взят, разграблен и превращён в пепелище. В Орду было уведено много пленных.
В Москве насторожённо ждали известия о начале мамаева нашествия на Русь, пришло оно в самом конце июля 1380 года. Силы Мамая были огромны, хотя достоверных летописных сведений о соотношении сил в битве на Куликовом поле нет. Численность золотоордынского войска в разных источниках колеблется между 100 и 200 тысячами человек. Русское войско, вне всякого сомнения, было намного меньше и скорее всего вдвое.
Мамай основательно готовился к большому походу на Русь. По его грозному повелению пришли войска подвластных Золотой Орде народов — черкесов и осетин, «бусурмане» из Волжской Булгарии и буртасы (мордва). Из Таны (Азова) и других итальянских колоний на берегах Азовского и Чёрного морей пришли отряды тяжеловооружённой наёмной пехоты, скорее всего венецианцев.
Мамай намеревался в 20-х числах сентября соединиться с великим князем литовским Ягайлой, который стал его союзником в войне с Московской Русью. После этого намечался совместный поход на Москву. Попытка привлечь к походу князя Олега Рязанского не увенчалась успехом.
Получив известие о выступлении Мамаевых полчищ, великий князь стал собирать в Москве большую рать. На помощь ему привели свои полки удельные князья. Преподобный Сергий Радонежский напутствовал великого князя на битву. В благословенной грамоте говорилось: «Иди, господин, иди вперёд. Бог и Святая Троица поможет тебе!» Все русское войско знало об этом.
Оставив для защиты стольного града часть сил, Дмитрий Иванович повёл русское войско к городу- крепости Коломне и на берегах реки Оки встал походным лагерем. Высланная далеко вперёд конная разведка — «сторожа» донесла, что Мамай со своим огромным войском расположился на реке Мече, правом притоке Дона.
Русская рать 26-27 августа переправилась через Оку. План московского князя был смелым и точно рассчитанным. Он задумал разбить войско Мамая ещё до соединения с ним Ягайлы и потому двинул далеко на юг свои полки. 6 сентября близ впадения в Дон реки Непрядвы русская «сторожа» разгромила разведывательный конный отряд ордынцев.
На военном совете русских князей было решено перейти Дон, чтобы в чистом поле сразиться с ордынцами. В ночь на 8 сентября русские полки по наведённым мостам и вброд перешли на правый берег реки и расположились выше устья Непрядвы. Так, проделав путь в 200 километров от Коломны до Дона, русская рать вышла на Куликово поле.
Дмитрий Московский построил свои войска. Впереди поставили сторожевой полк — его задачей было не позволять ордынским конным лучникам засыпать ливнем стрел главные силы русских. Затем стал передовой полк, которому предстояло принять на себя первый удар главных сил Мамая. За передовым выстроился большой пеший полк. На флангах стали полки правой и левой руки. На случай, если неприятель где-нибудь прорвёт русский строй, был оставлен в тылу резервный полк.
В густой дубраве на левом крыле укрылся сильный засадный полк. Засадой командовали князь Владимир Серпуховский и зять Дмитрия Ивановича воевода Дмитрий Боброк-Волынский. Этому полку предстояло выйти на поле Куликово в самую решающую минуту. Известно, что ордынская конница так и не обнаружила русский засадный полк.
Перед сражением Дмитрий Московский объехал все построившиеся на поле полки и обратился к ним с традиционным призывом постоять за землю Русскую. После этого он поменялся с ближним боярином Михаилом Бренком убором московского государя и в простых воинских доспехах встал в первые ряды русской рати.
Ордынское конное войско появилось на горизонте примерно в 10 часов утра. Мамай, разбивший свой шатёр на вершине Красного холма, с удивлением и тревогой осматривал видневшиеся вдали полки московской рати. Такой встречи от данников Золотой Орды он явно не ожидал.
Мамай был опытным полководцем. Он сразу понял, что на Куликовом поле ему не удастся использовать своё преимущество в коннице. Густые дубравы и речушки с топкими берегами надёжно прикрывали фланги русских от обхода. Оставалось только одно — атаковать московскую рать в лоб, с фронта. Мамай приказал спешиться части своих всадников в помощь наёмной итальянской пехоте. На флангах он поставил тяжеловооружённую конницу, за Красным холмом — сильный резерв.
Сражение началось около 12 часов дня поединком русского воина инока Пересвета и ордынского богатыря Челубея. Два витязя сошлись на копьях, и оба погибли.
После этого ордынская лёгкая конница атаковала сторожевой конный полк русских. Татарские лучники встретили упорное сопротивление княжеских дружинников и долго не могли заставить их отойти назад.
После этого ордынское войско начало атаку по всей ширине Куликова поля. Сторожевому полку пришлось отойти к передовому, но и тот не выдержал натиска врага. Затем в битву вступил пеший большой полк. Ожесточённое сражение шло в течение двух часов, распавшись на отдельные единоборства, когда каждый, по словам летописца, «своего супротивника искаше победите».
Мамай все же нашёл способ прорваться в тыл русской позиции. На её левом фланге перед дубравой была довольно широкая лощина, ровное дно которой позволяло тяжеловооружённым всадникам набрать таранную скорость. Мамай и бросил сюда резервную конницу. Она прорвала строй русского полка левой