桂陵之战后,魏国虽元气大伤,但经过几年的休整后,魏国逐渐开始恢复对外进攻。因为《史记》中对于魏惠王和齐威王年代的错误记载,导致对于马陵之战的时间争议颇多,不过通过和《竹书纪年》相关内容比对可以基本确定,马陵之战发生在逢泽会盟后一年。逢泽会盟应是马陵之战的直接起因。魏公决定称王,在宋国都城外摆出天子仪仗,效法齐桓公九合诸侯,自称“夏王”,包括秦国在内的列国皆赴会,但是韩国、齐国并没有赴会,于是魏惠王下令襄疵领兵攻打韩国,后齐国出兵攻魏救韩,魏惠王就派遣太子申领兵与齐国战于马陵。马陵之战的时间点应该是魏惠王二十七年十二月,结束于次年。
根据《竹书纪年》的记载,“梁惠成王二十八年,穰疵率师及郑孔夜战于梁、赫,郑师败逋。”魏国派遣襄疵攻打韩国汝南的梁、赫,韩国派将军孔夜应战,韩国战败,后求救于齐,于是就有了司马迁笔下,齐国在韩国五战全败后才出兵救援的记载。《战国策》中也有《南梁之难》一篇描述此役。
南梁在汝河上游,秦朝后称梁县,今属汝州。韩魏两国在此暴发激战,双方统帅是韩孔夜和襄疵,并非《史记孙子吴起列传》中所说,是庞涓领兵攻打韩国。
韩国得到齐国答应救援的允诺,人心振奋,竭尽全力抵抗魏军进攻,但结果仍然是五战皆败,只好再次向齐告急。齐威王抓住魏、韩皆疲的时机,任命田忌为主将,田婴为副将率领齐军直趋大梁。孙膑在齐军中的角色,一如桂陵之战时那样:充任军师,居中调度。
但根据《战国策南梁之难》记载,韩国并非得到齐国允诺才主动出击五次战败,而是齐国暂时坐山观虎斗,等到韩国五次战败后才出兵救援。献计者也是张丐,并非孙膑或田忌。魏国自己的史书《竹书纪年》中,也没有记载孙膑、田忌和庞涓参与了此战,马陵之战双方的统帅是魏太子申和田盼,魏国眼见胜利在望之际,又是齐国从中作梗,其恼怒愤懑自不必多说。于是决定放过韩国,转将兵锋指向齐军。其含义不言而喻:好好教训一下齐国,省得它日后再同自己捣乱。魏惠王待攻韩的魏军撤回后,即命太子申为上将军,庞涓为将,气势汹汹扑向齐军,企图同齐军一决胜负。(魏国兵力没有记载)
齐军已进入魏国境内纵深地带,魏军尾随而来,孙膑针对魏兵蔑视齐军的实际情况,在认真研究了战场地形条件之后,定下减灶诱敌,设伏聚歼的作战方针,造成在魏军追击下,齐军士卒大批逃亡的假象,并在马陵利用有利地形选择齐军中1万名善射的弓箭手埋伏于道路两侧,规定到夜里以火光为号,一齐放箭,并让人把路旁一棵大树的皮剥掉,在上面书写“庞涓死于此树之下”字样。
庞涓在接连3天追下来以后,见齐军退却避战而又天天减灶,武断地认定齐军斗志涣散,士卒逃亡过半。于是命令部队丢下步兵和辎重,只带着一部分轻装精锐骑兵,昼夜兼程追赶齐军至马陵,见剥皮的树干上写着字,但看不清楚,就叫人点起火把照明。字还没有读完,齐军便万弩齐发,给魏军以迅雷不及掩耳的打击,魏军顿时惊恐失措,大败溃乱。庞涓智穷力竭,眼见败局已定,遂愤愧自杀。齐军乘胜追击,又连续大破魏军,并俘虏了魏军主帅太子申。
孙膑在马陵之战所用的战略,其实便是孙子兵法“始计篇”所说的“能而示之不能,用而示之不用”以及“兵势篇”所说的“以利动之,以卒待之”等虚实原则于实战的运用。
《史记魏世家》记载,此一战是魏国攻伐韩国,后韩国向齐国求援,齐国采用孙膑计谋,第二次围魏救赵,令魏国大怒,以庞涓为将攻打齐国。据《史记田敬仲完世家》记载,此一战是魏国攻打赵国,韩国因与赵国亲近而来救援,韩赵联军与魏军对峙,战局不利,而向齐国求援。据《史记孙子吴起列传》记载,这一战是魏与赵攻韩,而非韩赵联军抗魏。同为史记,三本自相矛盾。另一个佐证是《史记韩世家》记载“八年,申不害相韩,脩术行道,国内以治,诸侯不来侵伐。”而这段期间并没有和魏国交战的记载,反而有“诸侯不来侵伐”的记载。四本相互对应,两本都没提到韩国参与了马陵之战,一本提到是韩赵共抗魏,仅有一本是提到魏国攻打韩国。
齐国在桂陵之战,以及在随后的马陵之战中的大获全胜,并援救了赵韩两国,使得其威望上升,挟战胜之威,齐国力量迅速发展,成为当时数一数二的强大国家,称霸东方。魏国被迫对齐国俯首称臣,并且在徐州与齐公相王,是为齐威王。不过称王之举也招来南方霸主楚国的记恨,楚国马上出兵占领徐州,齐国连连战败,被迫乞和。
魏国在桂陵之战与马陵之战遭受重创后,军事实力从根本上被削弱,又被秦国乘虚而入,从此丧失了独霸中原的能力,于是开始寻求组建联盟以共同抗击齐国、秦国的夹击,开启了合纵连横的时代。
这一战对韩国无本质影响,韩国本想借此削弱完全包围自己的魏国,目的虽然达到了,但魏国衰败,齐国、秦国和楚国对中原的觊觎,使得韩国唇亡齿寒,不得不选择继续与魏国站在一起,抵御强敌。
逢泽会盟,秦国支持魏公称王招致魏国被群起而攻之,秦国坐收渔利,不出一兵就令魏国国力大大衰弱,魏国从此再也无力独自阻止秦国向东的扩张。
齐魏马陵之战是《孙子兵法》和《孙膑兵法》的具体运用,闪烁着孙膑军事思想的光辉。作为中国古代军事史上的一个著名战例,齐魏马陵之战知名度高,传播范围广,影响大,不仅有极高的军事研究价值,而且对新时期政治、经济、文化、外交都有重要的借鉴意义。
马陵之战的相关争议非常多。
首先是因为《史记》中对魏惠王和齐威王徐州相王后改元记载错误,改元后的年号当成新王年号,结果导致马陵之战时间被记载为魏襄王和齐宣王之时,这也导致对于马陵之战时间点争议颇多。
其次是将领争议,马陵之战双方交战的主要将领究竟是孙膑和庞涓,还是田盼和太子申?千百年来众说纷纭,没有定论。因为《竹书纪年》记载魏国攻打韩国的是襄疵,而攻打齐国的是太子申,所以《孙子吴起列传》中所说,庞涓领兵攻打韩国,被孙膑偷袭后方而回师也就存疑了。
第三是动机争议。魏国是被偷袭后方而从韩国回师抵抗齐国入侵?这一战明确叫做“马陵之战”,而马陵地点根据一些说法,应该在卫国濮阳以北,在齐国都城临淄和魏国都城大梁之间的要道上,当时属于齐国,而不属于魏国,且远离大梁。魏国抵御齐国入侵又怎会在齐国境内?另外,太子申领兵与齐国交战前,曾路过宋国外黄,被外黄徐子规劝不要出战,而外黄是今商丘民权县,在今开封的大梁以东,从大梁出兵前往马陵并不需要路过外黄。这也就引出了另一个争议,那就地点争议。
关于马陵地点的另一种说法,在山东郯城,当时属于齐国城阳都,魏国抵御齐国不可能到如此远的地方,而且这里也不在临淄和大梁之间。但如果魏国是主动去攻打齐国城阳都,那出兵时经过位于大梁城东的宋国外黄也就都合情合理了。郯城境内的马陵道遗址,也确实符合《孙子吴起列传》中所说的“马陵道陕,而旁多阻隘,可伏兵”
因为争议过多,所以古今学者甚至有人认为马陵之战根本不存在,可能是司马迁找到两份年代相近,过程也相近的齐魏交战史料,但两份史料不同点也颇多,所以拆分成两战处理,这便是史记中的桂陵之战与马陵之战。但这种说法没有得到普遍认可。
范县说(与濮县说、莘县说、鄄城说、濮州说系同一种说法)
东晋虞喜在《志林》述道:“马陵在濮州鄄城县东北六十里,有陵,涧谷深峻,可以置伏。”唐代张守节撰《史记正义》引用虞喜之说,并加:“按:庞涓败即此也。”由此产生了马陵战址鄄城说。为纪念马陵之战,保护马陵之战古战场遗址,2005年莘县于此修建了马陵之战纪念馆。
晋刘宋人徐广在《史记音义》述道:“马陵,在魏州元城县东南一里。”徐广的说法源于晋杜预《春秋左传注疏》。杜注:“卫地,阳平元城县东南有地名马陵。”后林尧叟又在杜注后加注:“史记,马陵道狭,而旁多阻碍,可伏兵。”从而将元城马陵与马陵战址联系在一起。史记三家注的另外两家即刘宋的裴骃(撰《史记集解》)和唐代司马贞(撰《史记索隐》)都引用徐广说“在元城”,于是在史记三家注中就形成了鄄城说与元城说并存的局面。
公元前341年齐魏马陵之战遗址位于今河南范县老城附近。