桂陵之战后,魏国虽元气大伤,但经过几年的休整后,魏国逐渐开始恢复对外进攻。因为《史记》中对于魏惠王和齐威王年代的错误记载,导致对于马陵之战的时间争议颇多,不过通过和《竹书纪年》相关内容比对可以基本确定,马陵之战发生在逢泽会盟后一年。逢泽会盟应是马陵之战的直接起因。魏公在商鞅的推举下决定称王,在宋国都城外摆出天子仪仗,效法齐桓公九合诸侯,列国皆赴会,但是韩国、齐国并没有赴会,于是魏惠王下令襄疵领兵攻打韩国,后齐国出兵攻魏救韩,魏惠王就派遣太子申领兵与齐国战于马陵。马陵之战的时间点应该是魏惠王二十七年十二月,结束于次年。根据《竹书纪年》的记载,“梁惠成王二十八年,穰疵率师及郑孔夜战于梁、赫,郑师败逋。 ”魏国派遣襄疵攻打韩国汝南的梁、赫,韩国派将军孔应战,韩国战败,后求救于齐,于是就用了司马迁笔下,齐国在韩国五战全败后才出兵救援的记载。韩国得到齐国答应救援的允诺,人心振奋,竭尽全力抵抗魏军进攻,但结果仍然是五战皆败,只好再次向齐告急。齐威王抓住魏、韩皆疲的时机,任命田忌为主将,田婴为副将率领齐军直趋大梁。孙膑在齐军中的角色,一如桂陵之战时那样:充任军师,居中调度。魏国眼见胜利在望之际,又是齐国从中作梗,其恼怒愤懑自不必多说。于是决定放过韩国,转将兵锋指向齐军。其含义不言而喻:好好教训一下齐国,省得它日后再同自己捣乱。魏惠王待攻韩的魏军撤回后,即命太子申为上将军,庞涓为将,率雄师10万之众,气势汹汹扑向齐军,企图同齐军一决胜负。齐军已进入魏国境内纵深地带,魏军尾随而来,孙膑针对魏兵蔑视齐军的实际情况,在认真研究了战场地形条件之后,定下减灶诱敌,设伏聚歼的作战方针,造成在魏军追击下,齐军士卒大批逃亡的假象,并在马陵利用有利地形选择齐军中1万名善射的弓箭手埋伏于道路两侧,规定到夜里以火光为号,一齐放箭,并让人把路旁一棵大树的皮剥掉,在上面书写“庞涓死于此树之下”字样。庞涓在接连3天追下来以后,见齐军退却避战而又天天减灶,武断地认定齐军斗志涣散,士卒逃亡过半。于是命令部队丢下步兵和辎重,只带着一部分轻装精锐骑兵,昼夜兼程追赶齐军至马陵,见剥皮的树干上写着字,但看不清楚,就叫人点起火把照明。字还没有读完,齐军便万弩齐发,给魏军以迅雷不及掩耳的打击,魏军顿时惊恐失措,大败溃乱。庞涓智穷力竭,眼见败局已定,遂愤愧自杀。齐军乘胜追击,又连续大破魏军,前后歼敌10万余人,并俘虏了魏军主帅太子申。