В бой вступила тяжелая понтийская пехота, лес пик опустился навстречу атакующим войскам и грохот от столкновения двух огромных людских масс прокатился по Херонейской равнине. Страшными ударами длинных копий фалангиты остановили римскую атаку, напрасно легионеры пытались отбить сариссы мечами, пригибали их к земле и пытались вступить в рукопашную — все было тщетно, строй фаланги стоял непоколебимо. Основной удар римляне наносили по центру понтийских шеренг, туда, где стояли вчерашние рабы, не без основания полагая, что их воинские навыки явно оставляют желать лучшего. Но бывшие невольники отчаянно бились за свою свободу, кололи легионеров длинными пиками и пока успешно держали фронт. Тогда Сулла поставил за линией тяжелой пехоты лучников, пращников и метателей дротиков и велел им через головы своих забрасывать врагов метательными снарядами, причем стрелы пускать зажигательные, для достижения большого психологического эффекта. Град камней, свинцовых ядер, дротиков и зажженных стрел обрушился на шеренги бывших рабов, приводя их в расстройство и смятение; когорты усилили напор, и понтийский строй заколебался, готовый вот-вот сломаться.
Однако, пока шел бой пехоты, Архелай повел в атаку ударное правое крыло, имея целью обойти римлян и ударить им в тыл: навстречу ему беглым шагом повел свои когорты Гортензий, желая парировать вражеский выпад. Видя неприятельскую контратаку, стратег развернул свой отряд, и тяжелая армянская конница ринулась на врага, сверкая на солнце блеском доспехов. Земля гудела от топота тысяч копыт, ветер развевал понтийские знамена со звездой и полумесяцем, а когда волна всадников приблизилась к римским рядам, их боевой клич прокатился над равниной Херонеи. Легионеры метнули копья и попытались отразить атаку, но закованные в доспехи наездники как таран врезались в их ряды и раскололи римский строй. Гортензий стал спешно отводить войска к склону горы, пытаясь сомкнуть разбитые ряды, но Архелай стал стремительно брать когорты в кольцо, обрекая их тем самым на полное уничтожение. Видя, что его правый фланг находится на грани катастрофы, Сулла поспешил туда, но в это время понтийцы пошли вперед, и вся римская армия оказалась на грани поражения. Прикрывшись большими круглыми щитами и подняв тяжелые копья над правым плечом, шли в атаку гоплиты Архелая, ветераны боев за Пирей, ударив в середину римского строя на правом крыле, они вступили с легионерами в страшную рукопашную схватку. Халкасписты («медные щиты») под личным командованием Таксила разбили римские ряды на левом фланге, они кололи римлян сариссами в лицо, руки, плечи и под их страшным натиском войска Мурены начали пятиться. Архелай же, видя по знаменам и значкам, что на помощь Гортензию спешит лично Сулла, вышел из боя и, оставив когорты Гортензия, совершил глубокий рейд по тылам римского войска. Его отряд с тыла атаковал правый римский фланг, который в этот момент оказался без командующего, поскольку Сулла поспешил на помощь Мурене, и тогда легионеры задних рядов развернулись лицом к новому врагу. Но удар армянской конницы уже потерял свою силу, кони устали под тяжестью доспехов и закованных в панцири всадников, а потому он не достиг тех результатов, на которые надеялся Архелай. Легионеры правого крыла успешно сражались против двойной атаки с фронта и тыла, а вот на левом крыле положение действительно было тяжелое и когорты Мурены с трудом сдерживали атаку «медных щитов». И потому римский командующий оказался в некотором затруднении — куда поспешить и кому первому оказать помощь. В итоге на помощь Мурене он отправил Гортензия с четырьмя когортами, а сам с пятой, последней, поспешил против Архелая и атаковал его уставшие войска.
И в этот момент отряды бывших рабов, стоявшие в центре фаланги, не выдержали града сыпавшихся на них метательных снарядов и, бросая оружие и снаряжение, обратились в повальное бегство — центр понтийской армии рухнул. Видя поражение фаланги, пустились в бегство кавалеристы Архелая и его гоплиты, а за ними бросились римские легковооруженные войска и гнали их до гор и реки, где и прекратили преследование. Дольше сражались «медные щиты», но когда римские когорты стали теснить их со всех сторон, то и они обратились в бегство. Часть беглецов была загнана к отвесным горным кручам, и всех их там перебили, другие же сумели уйти к лагерю, где Архелай пытался организовать оборону. По приказу стратега ворота лагеря были заперты, и понтийская пехота вынуждена была вновь встретить римлян в открытом бою. Но получилось так, что большинство командиров пало на поле боя, а боевой дух войск был надломлен поражением, сопротивление продолжалось недолго, и толпы беглецов снова начали ломиться в ворота.
В итоге их открыли, но вслед за понтийцами туда ворвались римляне и вышибли царских воинов из лагеря, закрепив за собой победу окончательно. Битва при Херонее закончилась.