公元前589年春,齐顷公亲率车徒讨伐鲁国,齐军由平阴一直开到了鲁国北部的龙邑。齐顷公指挥大军包围了龙邑,并下令发起攻击,攻城战斗相当激烈。战斗中,齐顷公的爱将卢蒲就魁被鲁国守将俘虏后杀掉了。齐顷公大怒,命令齐国将士全力攻城,三日三夜而不息。齐顷公亲自击鼓激励将士,龙邑城池终于被齐军攻克。为了给卢蒲就魁报仇,齐顷公下令将居住在龙邑城北一方的人全部杀掉了。龙邑受到齐军的猛烈攻击,鲁国君臣顿时慌作一团,鲁成公急派使者向晋卫两国告急。卫穆公接到鲁国的求救信,急命孙良夫、石稷、宁相、向禽等率兵乘虚伐齐,以解鲁国龙邑之围。孙良夫为卫武公之后,卫大夫孙昭子炎的儿子,世袭爵位,位居卫国上卿;石稷,又名石成子,卫国老臣石碏的四世孙,此时任卫军前队副将;宁相即宁成子,是卫国亚卿宁俞的儿子,宁俞退职后,宁相袭父职在朝为大夫;向禽时任卫国卿士。齐顷公攻破龙邑后,正想挥兵侵入鲁国的纵深之地,忽听哨马来报:“卫国派大将孙良夫率师伐齐。”齐顷公遂留下少量人马戍守龙邑,急率其大队人马返师迎击卫军。
是年四月,卫国军队开到边邑新筑,恰好与齐师相遇,两军各结营垒准备对阵。卫军副将石稷对主帅孙良夫说:“我受命乘虚伐齐,今齐人伐鲁归来,其君又亲在军中,不可轻敌,不如撤军回国,等晋鲁两国兵马来到,然后合力击之,方为万全之策。”孙良夫曾受过齐顷公戏弄,哪里肯就此收手?他对石稷说道:“本欲报一笑之仇,今仇人就在眼前,奈何胆怯避之?”遂不听石稷的劝告,在当天夜间亲率中军攻袭齐军大营,哪料齐人早已做了防备,孙良夫刚刚率部攻入齐军大营,只听得战鼓一阵响起,左有国佐,右有高固,中有齐侯,各率大军将孙良夫团团围住。齐顷公披挂整齐,高声喊道:“眇夫,且留下你的头颅来!”孙良夫被齐军围在核心,哪里还顾得上答话,竭尽全力拼杀不止,怎奈一人难敌三将,体力渐渐不支,最后只剩下招架之功,渐无还手之力。正在危急时刻,幸得宁相和向禽率二军及时赶到,三人拼力厮杀,孙良夫才得以突出重围。卫军大败,向国内狼狈逃窜,可齐顷公仍率领军队在后面穷追不舍。
孙良夫被齐顷公驱兵追赶甚急,惶惶然如丧家之犬,正在走投无路之际,恰好遇到赶来救援的石稷之军,石稷对孙良夫高声喊道:“元帅只顾前走,我来断后。”孙良夫急急奔走,未及一里,忽听得前面人欢马叫,孙良夫以为是齐国伏兵,遂仰天长叹曰:“悔不听石稷之言,今日吾命休矣。”但大敌当前,他也是迫不得已,就咬紧牙关硬着头皮迎了上去,及至走到近处,但见车中一将躬身搭话道:“不知元帅与齐国交兵,救援来迟,伏乞恕罪。”原来是新筑大夫于奚率兵前来救援。齐顷公见卫国又来了两支兵马,此时自己身在卫地,害怕兵力不继中了卫国埋伏,就传令鸣金收兵,掠取了大批车马辎重撤师而去。石稷、于奚见齐军声势浩大,也勒住兵马不去追赶。史官赋诗评论孙良夫曰:用兵如何凭意气,审时度势占先机。
刚愎自用成何事,运筹帷幄属石稷。
孙良夫兵败,未回都城帝丘,收拾了残兵败将,在新筑就地歇息了数日。诸将向孙良夫请示返师之期,孙良夫对诸将说道:“本欲报仇雪耻,今反为齐人所败,有何面目归见吾主耶?吾当乞师于晋国,来日生缚齐君,方出胸中恶气!”他命石稷等人率兵驻守新筑防御齐兵,自己亲往晋国乞求晋侯出兵伐齐。孙良夫匆匆来到晋国,适逢鲁国也派司寇臧孙许向晋侯请兵。此时,郤克已接替范士会成为晋国正卿,孙良夫与臧孙许先去拜会了晋国执政大夫郤克,然后又谒见了晋景公。晋景公对齐国终于忍无可忍了,他决定出兵讨伐齐国,打压一下齐顷公的嚣张气焰。于是,晋景公就答应了两人的请求,遂发车徒800乘,使郤克将中军,解张为御,郑丘缓为车右;士燮将上军,栾书将下军,韩厥为司马,并率狄卒前往助战,于同年六月起兵,会同鲁国、卫国兵马共同讨伐齐国,以救鲁卫两国之难。三国约定,各国军队至期在卫地新筑会合。
鲁使藏孙许先行回国禀报,鲁成公命季孙行父与叔孙侨如率师赴新筑与诸侯之师会合。返国途中,孙良夫又派人约会了曹国公子首率师到卫地取齐。晋军跨过太行山向东推进,到了约定时间,四国兵马会师新筑,稍事休整,就摆开队伍次第而行,伐齐军队迤逦连绵三十余里,车马之声不绝于耳,浩浩荡荡杀奔齐国而来。齐军听说晋国率诸侯兵马前来攻打,急忙撤师东归,晋军驱兵追赶齐师到莘地。六月壬申,联军继续攻打齐军,大军很快攻入齐国腹地,一直追击到靡笄山之下。靡笄山,为泰山北部余脉,位于今济南市区南部,距原济南古城南门只有两公里。隋唐以来,因山上有著名的宝刹兴国寺和诸多佛教石刻,当地人俗称千佛山。四国联军驻扎于千佛山下,准