В 1377 году перешедший на службу к Мамаю хан Синей орды Араб-шах (царевич Арапша в русских летописях) разгромил на реке Пьяна объединенное нижегородско-московское войско, разграбил Нижний Новгород и Рязань. А в следующем году Мамай, воодушевленный этим успехом, посылает уже против самого московского князя одного из лучших своих полководцев – мурзу Бегича. Однако в битве на реке Вожа татарское войско было наголову разбито, а сам Бегич убит. Это пошатнуло позиции Мамая в Орде (тем более что появился очень опасный претендент на престол – природный Чингизид Тохтамыш), и он начинает активную подготовку к решающему столкновению. В русских летописях говорится, что Мамай хотел повторить поход Батыя и разгромить русские земли так, чтобы они не могли подняться. Мамай собирает все возможные силы, вступает в политический союз с литовским князем Ягайло, пытается привлечь на свою сторону рязанского князя Олега. Над русскими землями нависла страшная угроза.
Но и московский князь отнюдь не сидел сложа руки. Получив известие о движении мамаевых полчищ, князь Дмитрий объявляет сбор общерусского ополчения. Смотр русских войск был назначен в Коломне 15 августа 1380 года. Из Москвы в Коломну выступило ядро русского войска – тремя частями по трём дорогам. Отдельно шел двор самого Дмитрия, отдельно полки его двоюродного брата Владимира Андреевича Серпуховского и отдельно – полки подручных белозерских, ярославских и ростовских князей.
Участие в общерусском сборе приняли представители почти всех земель Северо-Восточной Руси. Помимо подручных князей, прибыли войска из Нижегородско-Суздальского, Тверского и Смоленского великих княжеств. Уже в Коломне был сформирован первичный боевой порядок: Дмитрий возглавил большой полк; Владимир Андреевич – полк правой руки; в полк левой руки был назначен командующим Глеб Брянский; передовой полк составили коломенцы. Существуют значительные разночтения по количественному составу русских войск, но современные историки предполагают, что наиболее близким к истине является число в шестьдесят тысяч человек.
Очень сложно судить о количестве войск Мамая. Точно известно о четырех тысячах наемной генуэзской пехоты, о том, что Мамай собирал подкрепления со всей подвластной ему территории: в битве участвовали ополчения ясов и касогов – жителей Северного Кавказа. В описании битвы говорится и о трех татарских темниках, стоявших с Мамаем на Красном холме. В «Сказании о Мамаевом побоище» говорится о восьмисоттысячном войске Мамая, что, конечно, является гигантским преувеличением. Но все известные нам источники уверенно говорят, что войско Мамая было больше русского. Думается, если убрать один лишний ноль, то с числом в восемьдесят тысяч можно согласиться.
Кроме того, Мамай рассчитывал на объединение усилий с великим князем литовским Ягайло и Олегом Рязанским против Москвы, при этом он предполагал, что Дмитрий не рискнёт выводить войска за Оку, а займет оборонительную позицию на ее северном берегу, как уже делал это в 1373 и 1379 годах. Соединение сил союзников на южном берегу Оки планировалось на 14 сентября.
Однако Дмитрий, осознавая опасность такого объединения, 26 августа стремительно вывел войско на устье Лопасни и осуществил переправу через Оку в рязанские пределы. Следует заметить, что он повел войско к Дону не по кратчайшему маршруту, а по дуге западнее центральных районов Рязанского княжества. На пути к Дону, в урочище Березуй, к русскому войску прибавились полки литовских князей Андрея и Дмитрия Ольгердовичей. В последний момент к русскому войску присоединились новгородцы.
В ночь на 7 сентября русские войска переправились через Дон, фактически отрезав себе путь для отступления. Вечером 7 сентября они были выстроены в боевые порядки. Большой полк и весь двор московского князя встали в центре. Ими командовал московский окольничий Тимофей Вельяминов. На флангах встали полк правой руки под командованием литовского князя Андрея Ольгердовича и полк левой руки князей Василия Ярославского и Феодора Моложского. Впереди перед большим полком расположился сторожевой полк князей Симеона Оболенского и Иоанна Тарусского. В дубраву вверх по Дону был поставлен засадный полк во главе с князем Владимиром Андреевичем и Дмитрием Михайловичем Боброком-Волынским.