公元前354年,龐涓率魏軍攻打趙國。龐涓當時已成為戰國名將,所向無敵,趙國無法抵擋,國都邯鄲也被圍住,隻好派人向齊國求救。齊王於是派田忌為將軍,孫臏為軍師去救趙。田忌打算直奔邯鄲與魏軍作戰,孫臏不同意,他認為魏國攻趙,其精銳部隊必然都到前線去了,國內留守的盡是老弱兵卒。不如引兵直搗魏國都城大梁,占據魏軍歸來的要道,乘虛而入,龐涓必會撤邯鄲之圍前來自救。這樣,齊軍不僅能救趙,而且還能使魏軍疲於奔命。齊軍則以逸待勞,可獲大勝。田忌依照孫臏的計策進軍魏國都城。龐涓得知後急忙帶兵來援救。孫臏指揮齊軍撤退,在桂陵設下埋伏。龐涓對孫臏很惱怒,帶兵追來。結果齊軍以逸待勞,大敗魏軍,解了趙國之圍。龐涓逃回魏國,老實了幾年。
齊魏桂陵之戰後,韓國趁火打劫,出兵侵占魏國兩座城邑。魏玉隻得改變戰略,和趙國和好,準備騰出手來對付乘人之危的韓國。經過13年的休養生息,魏王與龐涓自以為國力大增,於是決定討伐韓國。
公元前341年,龐涓親率大軍代韓,又是采取當年伐趙的戰略,直攻韓國都城。韓王急忙向齊國求救。齊王派田忌和孫臏率軍救援韓國。孫臏再用當年之計,不奔韓國,而去攻打魏國都城。龐涓又氣又怒,回兵來救。
孫臏這次將伏擊龐涓的地點選在了馬陵。但龐涓有了上次的教訓,進兵很謹慎。如何保證龐涓率軍進入齊軍在馬陵的伏擊圈呢?孫臏前無古人地想出了“減灶法”:令齊軍在後撤的第一天用土壘十萬灶做飯,第二天則減為五萬灶,第三天減為三萬灶。龐涓追趕齊軍三日,見齊軍由十萬灶減為三萬灶,大喜道:“我早就知道齊軍膽小,才不過三天,士卒已經逃亡過半了。”於是他留部將率步兵跟在後麵,自己則隻車騎兵加快速度向齊軍追去。在龐涓看來,孫臏不除,始終是他的克星。如今齊兵逃亡過半,正是一舉殲滅齊軍、除掉孫臏的絕好機會,因此,龐渴求戰心切,不顧一切地貿然進入齊國境內。
孫臏派弓箭手萬名埋伏於馬陵狹道兩旁的山上,並將道旁一棵大樹砍去樹皮,寫上“龐涓死在樹下”六個大字,與弓箭手們約定,待樹下有火光,即萬箭齊發。日暮時,龐涓果然追至馬陵道。他見道旁有棵大樹被砍去樹皮,露出了白色的木質,上麵隱約寫有字跡,心中疑惑,命人打火照之,見是“龐涓死在樹下”幾個大字。
龐涓尚未讀完這幾個字,埋伏在兩側的齊軍已經萬箭齊發,魏軍中箭者不計其數,頓時亂成一團。龐涓倉促應戰,但為時已晚。魏軍多已被亂箭射死,屍體狼藉,齊軍正從前後左右包圍過來。龐涓知道今日已是很難幸免,走投無路之際,隻好拔劍自刎。死前還頗有不甘,歎道:“就這麼成就了孫臏這小子的名聲!”
馬陵之戰後,孫臏名揚天下,成為各國畏懼的軍事家。他功成身退,總結自己的軍事經驗,留下一部《孫臏兵法》,然後離開齊國,不知所終。