Между тем татары вплотную подошли к лагерю литовского войска. Несколькими днями ранее ордынские князья получили известие от командира небольшого татарского отряда, который дислоцировался неподалеку — в Хмельнике. Мурза сообщал о том, что Ольгерд Гедиминович находится на поле будущего сражения и готовится их встретить. Используя способ передвижения, о котором говорилось выше, Кутлу–Буг, Кочубей и Дмитрий вели свои орды разными дорогами. Крымская и Перекопская орды двигались к Торговице из Приазовья, а Ямбалуцкая орда во главе с ханом Дмитрием шла из низовий Дуная. Войска ханов миновали Христиновку, Дашев, Ильинцы, прошли Калиновку и повернули в направлении Глинска. В районе Глинска татарским командованием было принято решение остановиться на ночлег. Этому, скорее всего, способствовал тот факт, что Глинск находился на расстоянии однодневного перехода от места битвы, что исключало возможность внезапного нападения литовцев. Кроме того, там протекала река Пустолова, где можно было напоить лошадей.
Точного дня проведения битвы при Синих Водах, как уже было сказано, историческая наука до нас не донесла. Однако большинство исследователей утверждают, что это произошло 15 или 16 сентября. Именно в этот день воины князя Ольгерда Гедиминовича увидели тучи пыли на горизонте и услышали топот десятков тысяч конских копыт. Битва началась на рассвете.
Князь Владимир на левом фланге первым начал битву. На его волынских ополченцев всей мощью обрушилась орда хана Кочубея. И сразу стала очевидной прозорливость великого князя, который поступил очень дальновидно, усилив волынских ополченцев на левом фланге воинами из своей личной гвардии. И хотя ордынцы обрушили на ополченцев целый град стрел, волыняне стояли твердо, даже неся ощутимые потери. После нескольких яростных атак ханам стало ясно, что их коннице не удастся прорвать фалангу Владимира Ольгердовича и пройти каменистым берегом Батожка в тыл украинско–литовского войска. Впрочем, построение армии «подковой» также не способствовало развитию такого необходимого татарам маневра. Вследствие этого ханам Кутлу–Бугу и Дмитрию пришлось повернуть свои орды и бросить их во фронтальную атаку на литовские хоругви.
Борьба длилась несколько часов. Постепенно в бой вступили все хоругви. Ольгерд в течение этого времени находился на Княжьей Горе и следил за ходом битвы, принимая гонцов от командиров подразделений. С вступлением в битву всех татарских орд стало очевидным, что пешие фаланги долго не смогут сдерживать штурмы тяжелой конницы ордынцев. И хотя они тоже наносили татарам тяжелый урон, прорыв пехотных построений становился вопросом времени. Настала пора вступать в бой конным хоругвям и отрядам, находящимся в засаде. Однако князь Ольгерд не спешил. С расчетливостью талантливого полководца он выжидал тот момент, когда пехотные копейщики, арбалетчики и лучники максимально выполнят свою задачу, ослабив кавалерию врага, и лишь после этого собирался одним мощным ударом поставить победную точку в битве.
И эта точка была поставлена. Повинуясь приказу Ольгерда Гедиминовича, из лесного массива во фланг татарским ордам бросились засадные полки. Рыцари пинского и Заславского князей выехали из леса и, переведя коней в галоп, ударили с копьями наперевес во фланг татарского войска. Такого поворота событий ордынцы не ожидали. Среди атакующей татарской кавалерии началось замешательство, и литовским рыцарям удалось вклиниться в построения врага, разделив орду на две половины. В этот момент, развивая успех, в бой вступили все конные хоругви князей Кориатовичей. Внезапная атака литовцев заставила татар оставить надежды на победу — они не выдержали двойного удара и обратились в бегство. За ними погналась легкая кавалерия литовцев, начиная преследование разбитого врага. Битва с непобедимой до этого времени армией Золотой Орды была закончена полным поражением последней. Впрочем, преследование частей потерпевшего поражение татарского войска продолжалось еще несколько дней — есть сведения, что литовцы и украинцы гнали обезумевших от страха татар до Днестра и Дуная.
Вот как ход битвы описал польский хронист Мацей Стрыйковский: «Татары с безумным рвением начали бой, засыпав литву густым железным градом из луков, произвели несколько столкновений, но нанесли мало потерь из–за правильного ее построения и быстрого маневрирования. А литва с русинами мгновенно с саблями и копьями наскочили на них и в рукопашном бою прорвали лобовые части и смешали им танцы полукругом. А другие, особенно новогрудцы с Кориатовичами, из самострелов со стрелами наскочили по бокам и длинными копьями сбрасывали их из седел, как будто ветер снопы в бурю. Не в силах дольше выдержать лобового натиска литвы, татары стали мешаться и перепуганные убегать в широкие поля». Интересно упоминание хрониста о «танцах полукругом», о которых говорилось выше.