公孙无知死后,齐国一时陷入了没有国君的局面,因为没有一个公子在国内。当初齐襄公荒淫无道,杀死鲁桓公并与文姜**,又滥杀无辜,欺凌大臣,他的弟弟们害怕有一天齐国发生大乱会祸及自己,于是纷纷逃居他国。齐襄公的次弟公子纠因为他的母亲是鲁国的公主,于是就逃到了鲁国,管仲、召忽两位大臣辅佐他。三弟姜小白跑到了莒(今山东省日照市莒县)这个地方,鲍叔牙辅佐他。姜小白的母亲是卫国卫僖公的女儿,很受卫君宠爱。姜小白早年在朝的时候,与朝中的卿士高傒的关系非常好。这次公孙无知一死,高傒立即暗中派人联系姜小白,让他回国即位。同时鲁国得知公孙无知的死讯,也派兵护送公子纠回国即位。公子纠与姜小白之间,立即为继承君位而展开了激烈的争斗。公子纠一边准备回国,一边让管仲带兵在姜小白回国的必经之路上设下埋伏,阻挡姜小白。
管仲领命之后,带兵埋伏在莒道上,等姜小白等人走近,立即瞄准放箭,一箭正中目标,姜小白口吐鲜血,倒在车里。因为管仲的行为毕竟属于偷袭,再加上旁边有鲍叔牙等人带兵护卫,所以也不敢上前细看究竟,眼见姜小白中箭跌倒,旁边的仆从们又大声哭叫,自以为姜小白已死,于是赶快引军撤走,赶去与公子纠会合。
实际上,管仲只是射中了姜小白的衣服腰带上的金属钩,姜小白害怕管仲再次放箭,于是立即咬破舌尖装死,骗过了惊慌之中来不及察验的管仲。之后更换衣服,快马加鞭赶回齐国即位,这就是齐桓公。这一年是公元前685年。
管仲回到鲁国报信,称已射死姜小白,得到消息的公子纠放下心来,自以为国君之位已经非己莫属,于是不慌不忙地赶路,沿途接受鲁国各县的庆贺,直到六天后才到达齐国边境。而此时,即位后的齐桓公派出拦截鲁国护军的军队已经到达。
中国的事情,向来讲究先礼后兵,鲍叔牙遣人告诉派兵护送公子纠还齐的鲁庄公说:“公子姜小白已经即位,我们齐国有国君了,天无二日,国无二君,请鲁侯您带着公子纠回去吧。”鲁庄公听闻姜小白未死,他拥立公子纠做齐侯使鲁国将来受惠的打算落空,感觉很受愚弄,也很没面子,就试图用公子纠是姜小白的兄长这样一个理由来说服鲍叔牙:“齐襄公死了,那么公子纠就是长子,理应由公子纠来即位,现在姜小白抢在前面即国君之位,极不合适。我国已经发兵,不会无缘无故地撤兵回国的。”姜小白费尽九牛二虎之力才回国即位,又怎么能听从鲁庄公的一番迂腐说词把君位让出去?于是两国之间的战事,便无可避免地发生了。
鲍叔牙知道公子纠和鲁国不会善罢甘休,于是立即回到国内,争取齐国贵族们的支持。他充分利用自己的才能,先摆事实后讲道理,从齐国立君不贤引起内乱,到宋国帮忙立了郑国的郑厉公之后索贿无厌导致郑国疲于奔命说起,引申到如果接纳了鲁国拥立的公子纠将会产生什么样的危害等等,阐明了公子纠的不可立性和贤能的姜小白的可立性,立即说服了齐国的贵族大夫们,使姜小白得到了齐国重臣们的支持,让新君即位的齐国在较短时间内做到了君臣团结,上下一心。
听到鲁庄公不愿退兵仍然坚持要送公子纠回来,鲍叔牙力请齐桓公发兵拒鲁。于是兵分三路,在齐鲁边境的乾时(今山东省淄博市桓台县南)设下埋伏。
再说鲁庄公,果真像齐国将领预料的那样,带着公子纠走到乾时这个地方,就不准备走了。管仲劝谏说:“姜小白刚刚即位,齐国人心还未完全稳定,我们要快速进兵,大军长驱直入,齐国说不定就会产生内乱,我们才好趁此机会拥立公子纠即位。”鲁庄公非常不屑地挖苦管仲说:“如果你的话靠得住的话,那么姜小白早就被你射死很久了。”管仲无言而退,于是鲁庄公命令鲁军在乾时安营扎寨,主力扎营在前,公子纠扎营在后。
次日,齐兵与鲁兵相遇。鲁庄公之意,如果一战打败齐国军队,挫动齐军锐气,齐国内部就自然会因恐惧而接受公子纠为君,但是很可惜,这只是鲁庄公的一厢情愿,因为此时鲁国军中才智唯一能够胜过鲍叔牙的就是管仲,但他却不听管仲的计谋,这就注定了他的失败。鲁庄公命人出战,齐国按照预定的作战方案,先是诈败诱敌,之后两路伏兵齐出,诈败的中军又回头力战,鲁兵哪里挡得住三路夹击,立即溃败。跟随公子纠扎在后营的管仲听到前营战败,立即率兵来接应,与鲁庄公合兵一处连夜拨营回国,不料在归途中却又遇到包抄鲁军后路的齐国军队,更是被打得溃不成军,管仲保着鲁庄公狼狈逃回鲁国,倒被齐军追入鲁国境内,攻占了鲁国的不少地方。鲁国新败,士气低落,无力组织军队收复失地,对此无可奈何。