由于莱阳府特殊的地理位置,双方只能正面硬碰硬靠着纯实力作战,双方均将战场选在了莱阳府伯陵县的公鸡坡。
鸡公坡高度差并不大,十数里地长坡只有不到十米的落差,齐军在鸡公坡下方,而唐军在鸡公坡上方。
十二月八日,决战开始两支中原王朝最强的军队就此相遇。
太阳高升之后,天空万里无云,早冬的空气干爽带着清凉,幅员数十里的旷野上,烟尘腾起。齐军阵地旗幡飘舞、战鼓隆隆、战马嘶鸣,大队的步兵和骑兵穿着闪亮的盔甲、举着明晃晃刀枪,列着纵队往北推进。
正前方,十五万武唐军队已列好队形,严阵以待。
萧开以祁远山的幽州军、赵孚的幽州铁卫、张通明的龙卫作为中军主力,以奚自强的并州军和易光的水鬼军团作为后军,以萧定山的禁军和倪尔春的重甲步兵为左翼,以王三燕的铁山槊刀军和吕游的代州军作为右翼,以李沅和萧定方的轻重骑兵作为机动部队。
战鼓声响起之后,唐军慕容辉率军出击,张通明的龙卫作为前军应战。
齐军多次冲击唐军前阵,但唐军阵型整齐并不散乱。待齐军士气衰竭之时,慕容辉突然下令军队前插,此时唐军箭如雨下、刀枪如林,张通明的齐军抵挡不住,队伍渐渐散乱起来,不断地往后退却,慕容辉趁机抓住战机下令猛攻。
张通明大惊失色,当即脱掉甲胄裸着上身,手持长刀立于阵前,大呼奋击,所遇唐军兵将遇到张通明皆被斩杀两段。在杀了数十唐军将士之后,齐军才稳住阵脚,张通明随后指令迅速整队,恢复阵线。
张通明一马当先率领将士自下坡杀向上坡,势不可挡,突前的齐军死士营生生将唐军正面撕开一个缺口,后续齐军一下从缺口拥入。
唐军拼死想把缺口堵住,但面对如潮的齐军一时很难达到目的。战斗中,慕容辉去救自己的部将,被箭射中眼眉,肉皮垂下,将眼遮住。慕容辉将箭拔出,撕掉肉皮,满脸是血仍死战不退。
此时齐军左右两翼也陷入了与唐军的交战之中,双方几乎搅合在了一起,谁都撤不下来,谁都不能撤退,几乎每一个呼吸都要死七八个人。李存义见此惨烈也想不到,如此伤亡之下,对方居然毫无惧色。
无奈之下,李存义下令慕容陲率骑兵部队绕齐军后方包抄,攻打齐军主帅大营。
但齐军早就防着这一手,萧开下令给李沅和萧定方,令其骑兵出动,全歼唐军骑兵。双方骑兵在鸡公坡以东的鸡公河滩遭遇,李沅的重骑兵硬冲敌军,将唐军骑兵压制在一个狭小空间,导致唐军骑兵丧失了机动性,不得不与齐军重骑兵对砍。