Протрубили трубы, и булгарская пехота пошла вперед. Били боевые барабаны, развевались под свежим волжским ветерком знамена, блестели на солнце доспехи и оружие. Хан решил, что пехота свяжет боем силы русских на фронтальной линии их обороны, а затем конница стремительным ударом по флангам растащит их повозки и ворвется в их лагерь.
Когда пехота булгар приблизилась на триста саженей, разом грохнули пушки русских, установленные на фронтальной линии гуляя, включая большие осадные. 34 ядра насквозь пробили пехотный строй, все десять рядов воинов. Пехота встала в замешательстве.
Относительные потери от залпа были не велики — не более 300 человек. Но моральный эффект был огромным. Яркие вспышки по всему фронту русской обороны, затем оглушительный грохот. Ядра были видны в полете. Некоторые ядра упали с недолетом, выбили вверх снопы грунта, подскочили вверх и врезались в строй пехоты. Оторванные руки, ноги и головы, фонтаны крови полетели во все стороны там, где ядра ударили в строй.
Завопили сотники и десятники, загудели дудки и трубы. Командиры ударами мечей плашмя приводили воинов в чувство. Пос тояв пару минут на месте, строй качнулся, и неровной линией двинулся вперед.
Артиллеристы без суеты, четко отработанными движениями перезаряжали пушки на картечь. На фронтальной линии было выставлено 26 полевых пушек и 7 осадных. В полевые пушки заряжали по 70 картечин, в легкие осадные — по 150, в тяжелые — по 250. На обоих флангах гуляя стояло по 27 гауфниц.
Когда передняя шеренга булгар подошла на полсотни саженей, грянул второй залп. Картечью по плотному глубокому строю в упор. Ширина веера картечи на таком расстоянии составляла две сажени. Картечь, выпаленная из пушек, за счет более высокой, чем у гауфниц, скорости пробивала человеческое тело насквозь. Первые два ряда ряда пехотинцев, попавшие под выстрелы, были выбиты полностью, третий и четвертый — частично. Относительные птери опять были невелики — примерно 500 человек, однако, вблизи моральное воздействие пушек на булгар оказалось намного больше. Опомнившись после первоначального шока, уцелевшие пехотинцы первых рядов, рванулись назад и столкнулись с задними рядами, не видевшими результатов залпа. На возникшую в результате толпу дождем сыпались стрелы. 400 стрелков гуляя прицельно били через амбразуры. Из-за стены гуляя навесом непрерывно пускали стрелы 500 стрелков — пешцев.
Избиваемая стрелами булгарская пехота не выдержала и побежала. Команда гуляя быстро расцепила повозки и поставила их под прямым углом к фронту. В образовавшиеся между повозками проходы шириной в сажень, потоками хлынула тяжелая конница русских.
Вонзив сходу копье в спину первому попавшему пешцу, всадники бросали копья, выхватили мечи и занялись любимым делом конницы — рубкой бегущих пешцев.
Увидев избиение своей пехоты, Ильгам-хан приказал трубить атаку коннице. Две больших конных массы с обоих флангов ринулись на гуляй. С полусотни саженей по ним ударили гауфницы. Раненые и препуганные вспышкой и грохотом кони передовых шеренг вставали на дыбы, бросались в стороны, сталкивались, сбрасывали седоков. В эту «кучу-малу» сходу влетели конники задних шеренг. На образовавшийся завал конницы, как и ранее на пехоту, дождем посыпались стрелы. На каждом фланге по врагу прицельно стреляли по 200 стрелков гуляя, били навесом по 500 стрелков — пешцев и по 500 конных стрелков. Минут за пять массированного обстрела каждый лучник выпустил по булгарам по полсотни стрел.
Команда гуляя развернула повозки, из гуляй-города на булгар вынеслась русская конница. По тысяче легких конников и по полтысячи конных стрелков на каждом фланге. Булгары не выдержали удара и бросились наутек.
Ильхам приказал трубить отступление. Впрочем, войско бежало и без его команды. В сопровождении сотни личной охраны Ильхам-хан поскакал в город.
Пехоту русские вырубили почти полностью. Лишь полторы тысячи пехотинцев попали в плен. До городских ворот добрались не более двух тысяч конников с ближнего к Ошелю фланга. Булгары едва успели захлопнуть ворота перед самым «носом» у русских. Уцелевшие конники с дальнего фланга скрылись в лесах за пригородными полями.
План боя, разработанный князем Юрием Всеволодовичем, был выполнен как говорится «от и до». Русской пехоте даже не пришлось вступить в бой на стене гуляй-города.
Раненых булгар добивать не стали. Глашатаи князя Юрия подъехали к стенам города и предложили местным забрать своих раненых. Обещали не препятствовать этому. выехавшие из ворот на повозках горожане взялись за сбор раненых булгар. Все ценное с них русские, конечно, сняли, раздев до исподнего.
Сразу после битвы город окружили плотным кольцом. И с берега и с реки.
Следующие дни с окрестных сел и весей согнали люд на захоронение убитых коней и людей. Все работали три дня. Обиходили немногих свои раненых и с почестями похоронили убитых. Ранено было 56 русских воинов, убито — 23. В сравнении с булгарскими — ничтожные потери. Трофеи взяли богатейшие. Полное вооружение для 16 тысяч воинов. Тысячи боевых коней.