宋襄公見齊國發生內亂,就通知各國諸侯,請他們共同護送公子昭到齊國去接替君位。但是宋襄公的號召力不大,多數諸侯把宋國的通知擱在一邊,只有三個小國帶了點人馬前來。
宋襄公率領四國的兵馬打到齊國去。齊國一批大臣一見四國人馬打來,就投降了宋國,迎接公子昭即位。這就是齊孝公。
齊國本來是諸侯的盟主國,如今齊孝公靠宋國幫助得了君位,宋國的地位就自然提高了。
宋襄公雄心勃勃,想繼承齊桓公的霸主事業。這次他約會諸侯,只有三個小國聽從他的命令,幾個中原大國沒理他。宋襄公想借重大國去壓服小國,就決定去聯絡楚國。他認為要是楚國能跟他合作的話,那麼在楚國勢力底下的那些國家自然也都歸服他了。
他把這個主張告訴了大臣們,大臣公子目夷不贊成這麼辦。他認為宋國是個小國,想要當盟主,不會有什麼好處。宋襄公哪裡肯聽他的話,他邀請楚成王和齊孝公先在宋國開個會,商議會合諸侯訂立盟約的事。楚成王、齊孝公都同意,決定那年(公元前639年)七月約各國諸侯在宋國盂(今河南睢縣西北,盂音yu)地方開大會。
到了七月,宋襄公駕著車去開大會。公子目夷說:「萬一楚君不懷好意,可怎麼辦?主公還得多帶些兵馬去。」
宋襄公說:「那不行,我們為了不再打仗才開大會,怎麼自己倒帶兵馬去呢?」
公子目夷怎麼也說不服他,只好空著手跟著去。
果然,在開大會的時候,楚成王和宋襄公都想當盟主,爭鬧起來。楚國的勢力大,依附楚國的諸侯多。宋襄公氣呼呼地還想爭論,只見楚國的一班隨從官員立即脫了外衣,露出一身亮堂堂的鎧甲,一窩蜂地把宋襄公逮了去。
後來,經過魯國和齊國的調解,讓楚成王做了盟主,才把宋襄公放了回去。
宋襄公回去後,怎麼也不服氣,特別是鄰近的鄭國國君也跟楚成王一起反對他,更加使他惱恨。宋襄公為了出這口氣,決定先征伐鄭國。
公元前638年,宋襄公出兵攻打鄭國。鄭國向楚國求救。楚成王可厲害,他不去救鄭國,反倒派大將帶領大隊人馬直接去打宋國。宋襄公沒提防這一著,連忙趕回來。宋軍在泓水(在河南柘城西北,泓音hong)的南岸,駐紮下來。
兩軍隔岸對陣以後,楚軍開始渡過泓水,進攻宋軍。公子目夷瞧見楚人忙著過河,就對宋襄公說:「楚國仗著他們人多兵強,白天渡河,不把咱們放在眼裡。咱們趁他們還沒渡完的時候,迎頭打過去,一定能打個勝仗。」
宋襄公說:「不行!咱們是講仁義的國家。敵人渡河還沒有結束,咱們就打過去,還算什麼仁義呢?」
說著說著,全部楚軍已經渡河上岸,正在亂哄哄地排隊擺陣勢。公子目夷心裡著急,又對宋襄公說:「這會兒可不能再等了!趁他們還沒擺好陣勢,咱們趕快打過去,還能抵擋一陣。要是再不動手,就來不及了。」
宋襄公責備他說:「你太不講仁義了!人家隊伍都沒有排好,怎麼可以打呢。」
不多工夫,楚國的兵馬已經擺好陣勢。一陣戰鼓響,楚軍像大水沖堤壩那樣,嘩啦啦地直衝過來。宋國軍隊哪兒擋得住,紛紛敗下陣來。
宋襄公指手劃腳,還想抵抗,可是大腿上已經中了一箭。還虧得宋國的將軍帶著一部分兵馬,拼著命保護宋襄公逃跑,總算保住了他的命。
宋襄公逃回國都商丘,宋國人議論紛紛,都埋怨他不該跟楚國人打仗,更不該那麼打法。
公子目夷把大家的議論告訴宋襄公。宋襄公揉著受傷的大腿,說:「依我說,講仁義的人就應該這樣打仗。比如說,見到已經受了傷的人,就別再去傷害他;對頭髮花白的人,就不能捉他當俘虜。」
公子目夷真的耐不住了,他氣憤地說:「打仗就為了打勝敵人。如果怕傷害敵人,那還不如不打:如果碰到頭髮花白的人就不抓,那就乾脆讓人家抓走。」
宋襄公受了重傷,過了一年死了。臨死時,他囑咐太子說:「楚國是我們的仇人,要報這個仇。我看晉國(都城在今山西翼城東南)的公子重耳是個有志氣的人,將來一定是個霸主。
你有困難的時候,找他準沒錯兒。」