公子偃搜罗出几十张虎皮,战士们把虎皮蒙在战马的背上;然后公子偃就率领这只人数很少的敢死队从都城西面的雩门出发,直奔宋军营地而去。
鲁庄公受到消息大惊失色,他被叔父的英勇行动所震动,于是说道:“叔父如果遭遇不测,乃是寡人杀害了叔父!”他立即集合起军队紧追公子偃。
此时公子偃部已经突入宋军的外围营地。宋人的战马见到敌人驾驶着猛虎战车飞奔而来,吓得四散奔逃。宋人一时无法组织起有效防御而被无情地追杀,恐慌也开始蔓延。但是宋人很快就发现这支敢死队的人数实在太少,他们便恢复了胆量,逐渐控制了局面并开始进行反击。
公子偃本来已经抱定有来无回的必死决心,他突然望见鲁国方向烟尘突起,知道援军正在赶过来。公子偃瞬间改变了原来的想法,他决定把敌人引出军营,使宋军在野外与鲁军决战。
公子偃立即传令撤退,宋国人在后面紧追不舍。宋军追击是自发且毫无秩序的,而鲁庄公率领的援军则军容严整、号令严明。
两军很快展开接触战,追击者因为无法及时组成阵列而被击溃了,鲁军踏过敌人的尸体继续前进。但是宋军的主力开始在鲁军对面集结。因为仓促出击,鲁军准备很不充分,并且数量处于劣势;公子偃虽然安全返回大部队,但是整个大部队却全部陷入险地了。
鲁庄公决定拼死一战,他命令主力结成密集的防守队形,并把指挥权授予庆父;自己则率领一支精锐部队直击宋闵公的公卒卫队。
这个冒险的方案打乱了宋军的部署,宋人慌忙调集军队来保护宋闵公。敌人加强了防御,鲁庄公的进攻就越发艰难;庆父抽调部分军队前来支援庄公,敌人也随之增加兵力;于是主战场就逐渐转到两个君主周围了。而战事一旦呈现胶着状态,鲁军数量上的劣势就开始显现出来了,鲁军在很多交战地点都遭到失败,宋军则渐渐完成对敌人的合围。。
宋国有个著名的勇士叫南宫万,他和他的属下总是在进攻时担任前锋,在撤退时担任后卫。南宫万此时拼命想冲垮鲁军防线,擒获鲁庄公,鲁国人忌惮他的凶猛,竟然不敢与他正面交锋。
南宫万投出一支的长矛击中了鲁庄公的战马,战马突然受惊、乱踢乱跳,战车左右摇晃,最后翻倒在地摔散了架,鲁庄公也被甩出去了——从干时之战算起,他已经第二次丢掉战车了。南宫万大叫:“鲁侯坠车了!快去抓住他!”宋人大声欢呼,进攻也更猛烈了。