公元前362年,魏惠王将魏国国都从安邑(今山西夏县)迁到大梁(今河南开封),打算以中原为根基,开疆拓土,经过开凿鸿沟,修筑长城,选拔武卒等措施,魏国盛况空前,国力鼎盛,笑傲中原。
魏惠王东迁后,中原呈现“一超三强”的局面,宋、卫等弱小诸侯国和三强之一韩国都向魏国朝贡,而另外两强赵国和齐国都不愿意臣服魏国。
公元前354年,赵国发兵攻打卫国,占领了富丘。俗话说:“打狗也得看主人。”魏国作为卫国的老大,小弟受欺负了,老大当然得出面找回场子;于是魏国叫上卫、宋,共同进攻赵国,很快便打到赵国国都邯郸,赵国面临着灭亡危机。
公元前353年,赵国向齐国请求救援,齐威王召集群臣商议,国相邹忌认为不救为好,明哲保身。段干朋认为赵国一定要救,如果任凭魏国吞并赵国,魏国的国力又将得到进一步提升,到那时,邻近的齐国还怎么独善其身呢?但是如果我们直接去支援邯郸,就必须和魏国主力硬碰硬,于我军不利;不如先派遣一支部队驻扎在邯郸郊外,佯攻恐吓魏军,再派遣另一支军队南下进攻魏国襄陵,这样就算赵国被攻破,我们便可趁魏军兵疲马乏战胜他们。
孙膑的意见与段干朋相似,不过孙膑建议趁魏军攻赵,主力尽出,齐军可以直捣魏国国都大梁,引庞涓回援后将其歼灭。
齐威王采取了孙膑的建议,命田忌为主将,孙膑为军师率八万齐军前往支援赵国。令人不解的是,孙膑突然建议进攻宋卫之间的战略要地平陵。平陵城易守难攻,人口多兵力强。齐军到达平陵后,田忌又派两个才能平庸的将领负责攻城,结果齐军被横邑和卷邑的援军反包围,齐军大败。
事实上,攻打平陵是孙膑故意为之,一是为了塑造齐军无能的假象,麻痹庞涓;二是掩盖齐军围魏救赵的真实意图;三是吸引横、卷两邑的魏军到平陵支援,如此都城大梁便只剩下老弱病残。庞涓听说平陵城大捷,果然放松了警惕,开始全力进攻,最终攻陷了邯郸。而孙膑派遣轻车部队,迅速抵达大梁城外,兵围大梁,魏惠王见齐军突然出现,惊恐不已,急忙传召庞涓回军护驾。
同时孙膑率领齐军主力在庞涓的必经之路桂陵处埋伏。庞涓为了加快速度回援,连辎重补给都没有带,日夜兼程往回赶。孙膑派出小部队佯攻庞涓,故意战败后退,庞涓轻敌,认为齐军兵力不足,不堪一击,于是率军急行追赶,进入了孙膑早已布下的圈套,齐魏两军在桂陵处交战,庞涓寡不敌众,战败被擒。
桂陵之战并没有击溃魏军主力,赵国都城邯郸依然被魏国所占领。直到公元前351年,魏惠王与赵成侯在漳河结盟,魏军撤离邯郸,也是在此时,齐国释放庞涓,回到魏国继续为将。