孙膑秘密回到齐国之后,对外保密,暗中等待时机复仇。
当时,魏国富强,又有庞涓,大有统一天下之势。赵国为了生存,采取以攻为守的战略,于周显王十五年(公元前354年)向魏国的属国卫国发起了进攻,结果惹来魏军的强攻。赵将指挥无能,国都邯郸也被围困。
被逼无奈,赵国只好求救于齐国,齐威王拜田忌为将,孙膑为军师,率八万齐军,前去救赵。受命以后,田忌决定率军直捣赵都邯郸,和赵军里外夹击。孙膑极力劝阻,说要想解开绳结,不能心急地硬拉;要想排解纷争,只能劝说不能参与纷争。现在,魏国和赵国正在厮杀,而魏国国内一定空虚,如果齐军直捣魏都大梁,庞涓一定会回师救援,我们在半路上伏击,既能帮助赵国,又能打败魏国。
田忌恍然大悟,率齐军直捣大梁,一路上战鼓争鸣,让魏人都知道。魏惠王吓坏了,急令庞涓回师救大梁。庞涓只好率军回国,当疲惫不堪的魏军进入桂陵的时候,突然如潮水般的齐军杀了过来。魏军本来在邯郸城下和赵军争战多日,再加上长途行军,无力抵挡齐军的伏击,魏将庞涓成为俘虏。
围魏救赵的战术历来被军事家所推崇,成为作战的指导原则之一。
孙膑过于忠厚,念及同窗之情,再加上孙膑艺高人胆大,还有庞涓大喊输得冤枉,孙膑把庞涓放回魏国。
不久,在齐国的权力斗争中,田忌被迫辞职,孙膑只好离开军营。庞涓知道后,欣喜若狂,率领魏军杀得各国大军落荒而逃。
齐威王病逝,齐宣王继位,拜田忌为将,孙膑为军师。庞涓不知道这件事,正率魏军攻打韩国,韩军无力抵挡,只好向齐国求援。
齐国相国邹忌主张作壁上观,不与魏国为敌。田忌主张趁早救韩,魏国吞了韩国以后会更加强大,威胁齐国。孙膑拈须微笑,一句话都不肯说。最后,众臣都来向他请教。孙膑说:"现在去救韩国,魏军兵力太强,等于替韩国牺牲;如果不救韩国,魏国会更加强大的,你们的说法都很正确。依我看,不如秘密地同意韩国的请求,让韩国顽强抵抗。齐军故意拖延时间,等他们打得精疲力尽时,齐军突然出击。"
齐王下令,按计行事。韩军知道齐军即将赶到,便誓死抗敌,使魏兵受到很大的损失。眼看韩军即将崩溃的时候,十万齐军向魏都大梁杀来。庞涓率军回师,韩国离魏国较近,迅速在魏国补充了兵员。魏王派太子申率军十万进攻齐军。
孙膑对田忌说,论每个人的战斗力,齐人不如魏人,魏人轻视齐人。应该骄敌诱敌,找机会击败魏军。
齐军和魏军刚刚相遇,便落荒而逃。庞涓不敢贸进,率魏军远远地跟着。第一天,庞涓发现齐军住过的地方有十万个火灶,第二天,发现只剩下五万了,第三天只剩下三万个。庞涓高兴地说:"齐兵的胆子是很小,但没有想到他们吓成这样,竟然逃跑过半!"
庞涓命令丢下士兵辎重和步兵,亲率轻骑两万,昼夜追赶齐军。齐军一边走一边把战车、旗帜丢弃,撤回齐国,在马陵隐藏起来。
马陵道路狭窄,两山夹谷,树木浓密,孙膑派一万多个弓箭手埋伏在密林中,下令:晚上有人高举火把,立即向亮火处齐射。孙膑派人把路上最突出的一棵大树削去一块树皮,刻上"庞涓死于树下"。
在一个漆黑的夜晚,庞涓率两万轻骑来到马陵道上。前军报告说前面道路被树干乱石挡住,庞涓催马前行,发现路边大树上好像有字,命令士兵点起火把。当他念完"庞涓死于树下"时,大喊中计。齐军万箭齐发,把庞涓射死。齐军冲了出来,魏军轻骑很快被杀。田忌和孙膑率军打败了后面的魏军步兵,俘虏了魏国太子申,杀敌十多万。