鲁桓公六年(bc706),齐僖公准备对纪国动武。
虽然纪侯的行为与周桓王讨伐郑国没有直接关系,但是齐僖公仍然把挑起事端的罪名扣在他的头上:“纪侯和他的先人都是一路货色,他们祖祖辈辈都是无耻的告密者!他们从前只是危害齐国,现在却连齐国的盟友也不放过了!纪国必将成为整个华夏的祸害。既然纪国亡齐之心不死,那么齐国只能和敌人血战到底了!”
有了这项罪名,齐国人便开始加宽通往纪国的道路,扩建加固边境的城邑。
纪侯都要吓疯了,他连忙跑到鲁国去,请鲁桓公代他与齐国人斡旋。齐鲁关系此时正处于蜜月期:鲁桓公三年前娶了齐僖公的爱女文姜为夫人,两人的第一个孩子马上就要出生。这对鲁、齐两国来说都是件值得庆祝的事。
纪侯对鲁桓公说,他希望趁齐僖公心情愉快之时与齐国签订和平协议,鲁桓公表示愿意帮姐夫这个忙。但是突如其来发生的一场大战,使得他们期望彻底化为泡影。
原来,就在这个关键时刻,北方的山戎突然大举入侵齐国。山戎盘踞在孤竹、令支(今河北卢龙、迁安一带),是匈奴前身的一个组成部分,由大小若干部落构成。山戎的很多部落都以劫掠为生,靠近海边的人也出海捕鱼或者打劫其他船只。
山戎部队行军时分成两部分,一部走陆路,一部乘船。两支军队沿海岸线并行而下;水路军从济水的入海口逆水而上。全部军队渡过济水后便沿济水东岸南下。在这期间,山戎发现一支长狄人(鄋瞒)的轻骑兵在不远处监视着他们的举动。山戎首领大良不想节外生枝,于是派弟弟少良带着礼物去向长狄人示好。
长狄是分布在济水北岸的狄人,因身形巨大而被称为“长人”或“长狄”。长狄人收了山戎的礼物,便返回济北,不再监视和骚扰山戎了。
齐人此时正准备对纪国开战,人们大兴土木、修路筑城,没有对山戎做出任何防范。山戎打了齐人一个措手不及,人们只得跑到最近的城邑里躲避;齐僖公一面组织抵抗,一面向郑庄公求救。
郑庄公兴奋不已,他说:“援助明日的霸主的功业比击败衰落的王室更为巨大!”他立即召集军队,又征发了很多船只。
六月,船只载着郑军顺济水而下。经过几天航行后,军队在临淄西北弃舟登岸,此地距离临淄还有一段路程。斥候们回来报告说,前面驻扎的是山戎的一支辎重队,而且是背对着郑军扎营的(因为山戎并对济水一侧没有防备)。敌人的战斗部队则分扎几处,且与辎重营相距较远。
郑军统帅是太子忽,他勘察过地形后惊喜地发现:郑军如果战术得当,不仅可以消灭山戎的辎重部队,而且能够依靠有利地形伏击敌人的救兵。他制定了作战计划,然后将任务分配下去。