公元前354年,势力强大的魏国进攻赵国,魏国将军庞涓指挥大军包围了赵国的都城邯郸。第二年,赵国向齐国求援,齐国任命田忌为将,孙膑为军师,率军八万前往救援。
田忌本来打算带领军队直接去赵国与魏军作战,孙膑认为,魏国的精兵都在攻打赵国,国内空虚,主张采取避实击虚的灵活战术,向魏国的国都大梁(今河南开封)进军,造成兵临城下,大军压境之势。田忌采纳了孙膑的计谋,率军进攻魏国。
庞涓得知消息,非常着急,丢掉粮草辎重,星夜从赵国撤军回国。孙膑预先在魏军回国的必经之地挂陵(今河南长垣西北)设下埋伏,当庞误用率领长途跋涉、疲惫不堪的魏军经过时,齐军突然出击,大败魏军。这场战役又称为“桂陵之战”。在战史上,把这种作战方法叫做“围魏救赵”。
二、以逸待劳
楚、韩、燕三国军队退去。庞涓也只好撤军。回军的路上庞涓越想越气,又带大军杀回。
魏国大军的突然返回,使齐国有此措手不及。齐威王命田忌和孙膑带兵抗敌。虽然楚、韩、燕三国的军队已经返回,齐军和魏军相比还是敌强我弱,孙膑令全军守而不出。
庞涓为激孙膑出营作战,命魏国士兵在营外高声漫骂。孙膑仍按兵不动。田国气愤不过,要求出兵,没想到孙膑竟然同意。田国率精干之兵不断袭击敌人,使魏军更加疲惫。
庞涓战不能战,拖又拖不起,只好撤军,孙膑乘机出兵,大败魏军。
三、假道伐虢
孙膑来到韩国申大夫家,申大夫要将他引见给韩王,孙膑不愿让自己来到韩国的消息传到魏国,因此不愿去见韩王。申大夫还是将孙膑来到韩国的事告诉了韩王,韩王立即召见孙膑,拜孙膑为军师。
庞涓得知孙膑在韩国,故作不知,派使者来到韩国,邀请韩国在成周会盟,对付共同的敌人秦国,请韩王允许魏国参加盟会的人路经韩国成皋。
孙膑向韩王进言,说魏国肯定另有所图,并向他讲了当年晋献公假道伐虢的故事。韩王只答应盟会,未答应借路。
盟会之时,魏王假作劳累过度,旧病复发,庞涓再次提出借路韩国的北方重镇成皋,从近路回国。韩王以为盟约以定,魏国不会与之为敌,答应了庞涓了请求。庞涓回国途中,乘韩国不备,突然占领了成皋。然后向韩王提出:以成皋换孙膑。