标题：土木之变
背景
明正统十四年（1449）二月，蒙古族瓦剌部落首领也先遣使2000余人贡马，向明朝政府邀赏，由于宦官王振不肯多给赏赐，并减去马价的五分之四，没能满足他们的要求，就制造衅端。遂于这年七月，统率各部，分四路大举向内地骚扰。东路，由脱脱不花与兀良哈部攻辽东；西路，派别将进攻甘州（甘肃张掖）；中路为进攻的重点，又分为两支，一支由阿剌知院所统率，直攻宣府围赤城，另一支由也先亲率进攻大同。也先进攻大同的一路，“兵锋甚锐，大同兵失利，塞外城堡，所至陷没”[1]。大同参将吴浩战死于猫儿庄。大同前线的败报不断传到北京，明英宗朱祁镇在王振的煽惑与挟持下，准备亲征。兵部尚书邝埜和侍郎于谦“力言六师不宜轻出”，吏部尚书王直率群臣上疏劝谏，但英宗偏信王振，一意孤行，执意亲征。7月16日，英宗和王振率20余万大军从北京出发，由于组织不当，一切军政事务皆由王振专断，随征的文武大臣却不使参预军政事务，军内自相惊乱。19日出居庸关，过怀来，至宣府。8月1日，明军进到大同。也先为诱明军深入，主动北撤。王振看到瓦剌军北撤，仍坚持北进，后闻前方惨败，则惊慌撤退。本欲使英宗于退兵时经过其家乡蔚州“驾幸其第”，显示威风；又怕大军损坏他的田园庄稼，故行军路线屡变。至宣府，瓦剌大队追兵追袭而来，明军3万骑兵被“杀掠殆尽”。13日，狼狈逃到土木堡，瓦剌军已紧逼明军。
经过
记载土木之变其真其详者莫如当事大臣李贤记载的《顺天日录》：“明日于土木驻营。宣府报至，遣成国公率五万兵迎之。勇而无谋，冒入鹞儿岭，胡寇于山两翼邀阻夹攻，杀之殆尽，遂乘胜至土木。明日巳时，合围大营，不敢行。八月十五日也，将午，人马一二日不饮水，渴极，掘井至二丈，深无泉。寇见不行，退围。速传令台营南行就水，行未三四里，寇复围，四面击之，竟无一人与斗，俱解甲去衣以待死，或奔营中，积叠如山。幸而胡人贪得利，不专于杀，二十余万人中伤居半，死者三之一，骡马亦二十余万，衣甲兵器尽为胡人所得，满载而还。自古胡人得中国之利未有盛于此举者，胡人亦自谓出于望外，况乘舆为其所获，其偶然哉？[2]”出征此次出征，由於准备仓促，途中军粮不继，军心已经不稳。八月在大同听宦官郭敬说前方战败，王振开始惊慌撤退，撤出大同。然而王振想从紫荆关（今河北易县西北）退兵，让英宗到他的家乡蔚州（今河北蔚县），不顾大同总兵郭登和大学士曹鼐等反对，匆忙改变行军路线。行四十里后，又怕大军过境损坏家乡庄稼，又急令军队转道宣府（今河北宣化），此时瓦剌大军追至，恭顺伯吴克忠、都督吴克勤率兵战死沙场。成国公朱勇、永顺伯薛绶率骑五万前去阻击，至鹞儿岭，中伏死，五万骑全部覆没。在8月14日到达土木堡（河北怀来县东南），离怀来城仅20里，王振以为1000余辆辎重军车没能到达，下令就地宿营。 
李贤，字原德，宣德八年进士，授验封主事，正统中迁考功郎中，改文选。正统十四年“扈从北征，师覆脱还。” 英宗复位，命贤兼翰林学士，入直文渊阁。自此，李贤“以受知人主，所言无不尽”，对明代中期政治的改良颇为有力。李贤不仅亲历土木其事，而且还以一位以国事为重的官员的面貌活跃于政治舞台上。他在英宗亲征之前曾与同僚一起劝说吏部尚书王直率群臣上章留驾； 在行军途中，又与一些御史谋划击杀王振，制止亲征，使英宗安全返回北京。在李贤对土木之变的观察中，这种热忱的历事者的背景所具有的意义是不言而喻的。 被俘兵部尚书邝埜一再要求驰入居庸关，以保证安全，但王振不准。土木堡地势高，无泉缺水，土木堡之南十五里处有河，被瓦剌军占据，将士饥渴难耐，挖井二丈仍无水。隔日瓦剌军队包围土木堡。也先遣使诈和，并主动撤离，以麻痹明军。英宗不疑有他，遣曹鼐起草诏书。王振下令移营就水，当明军大军移动时，饥渴难忍的军士一哄而起，奔向河边，人马失序，瓦剌军趁机发动攻势。明军只得仓促应战，英国公张辅，泰宁侯陈瀛，驸马都尉井源，平乡伯陈怀，襄城伯李珍，遂安伯陈埙，修武伯沈荣，都督梁成、王贵，尚书王佐、邝埜，学士曹鼐、张益，侍郎丁铉、王永和，副都御史邓棨等，皆战死，明英宗盘而坐，不久被俘，于谦也被俘，王振被护卫将军樊忠用大铁锤所杀，樊忠不久亦战死。此役明军死亡过半，大量辎重尽为也先掠夺，只有大理寺右寺丞萧维桢、礼部左侍郎杨善、文选郎中李贤等数人侥幸逃出。
反击经过
于谦建议百官预支俸禄于京城90里外的通州，这样就是也先没有粮食可以抢。二十三日，都御使陈益上奏：诛杀王振全族。郕王不知道该怎么办，百官发怒，殴打王振的心腹马顺，打死党羽毛、王二人，和王振的侄子王山（锦衣卫指挥使）九月初六，瓦剌进攻宣府、大同、勾结关内蒙古人，烧杀抢掠，挟持英宗叫门，宣府守将杨洪不听。　　于谦任命：狱中的石雷复命，还官拜总兵。推荐东莞的河伯所闸官罗通为兵部员外郎，守居庸关，四川按察使曹泰为山东都指挥使，韩青守紫荆关，任大同副总兵；郭登为总兵，守大同。从于谦的布置可以看出，当时不论地位卑贱与否，只要是有才能的，都用上了。十月初一，也先、脱脱不花掠过大同，夺下紫荆关，明朝又失一城也先兵分两路：一路由古北口、密云进入明朝腹地，20000人左右，另一路从宣府、洪州进攻，30000人左右　　两路军最终的会合地点是居庸关以西的白羊口，妄图直抵京师！如此，则京师危急。！此时，于谦的先遣4将（罗通、曹泰、韩青、郭登）都没有守住各自的收地，瓦拉军长驱直入，看似要灭亡大明王朝。　　于是，于谦执行第二方案：“亲自领兵22万，列阵于九门外，亲自披甲执锐，于是，京师各地士气大振。侍郎吴宁代理兵部的事物。于谦亲自列阵于德胜门外。十月初二，副总兵高礼、毛福寿迎敌于章仪门的土城之北，败瓦剌先锋官，首战告捷，军心大振。派右通政王复到土城拜谒英宗。　　十三日，也先进攻德胜门。石亨，范广等将领在民间的土房内埋伏，二人大败敌军！。也先的弟弟孛罗、平章卯那孩战死。也先转而攻打西直门，又大败十四日，战于章仪门，居民投石相助，再次大胜！此时，围攻居庸关的瓦剌军与明军大战七天七夜，还是大败！　　连续的失败，士气低落，再加上深入中原王朝的腹地，各地勤王的军队也已经快到达京城，于是，也先坐不住了。十五日夜，拔营而走，明军以炮火追击，杀敌万人，也先向回良乡逃去。十七日出紫荆关，明军奋起直追，败敌于固安、霸州，擒阿归等18人。此时，京师保卫战基本结束。明朝在先损失300000人的情况下扭转战局，是非常难能可贵的。[3]
结局
此一战役，明军死伤十余万，文武官员亦死伤数十人。英宗被俘消息传来，京城大乱。廷臣为应急，联合奏请皇太后立郕王即皇帝位。皇太后同意众议，但郕王却推辞不就。文武大臣及皇太后正在左右为难之时，英宗秘派使者到来，传口谕命郕王速即帝位。郝王于九月初六登基，是为景帝，以第二年为景泰元年，奉英宗为太上皇。瓦剌俘虏明英宗，便大举入侵中原。并以送太上皇为名，令明朝各边关开启城门，乘机攻占城池。十月，攻陷白羊口、紫荆关、居庸关，直逼北京。
也先大兵逼近北京城，势不可挡，明朝廷惶惶不安，有大臣提出南迁都城。兵部侍郎于谦极力反对迁都，要求坚守京师，并诏令各地武装力量勤王救驾。随后，调河南、山东等地军队进京防卫，于谦主持调通州仓库的粮食入京，京师兵精粮足，人心稍安。正统十四年（公元1449年）十月初六，也先挟持英宗入犯北京，京城告急，北京保卫战开始。  土木之变明景帝让于谦全权负责守战之事。于谦分遣诸将率兵22万，于京城九门之外列阵，并亲自与石亨在德胜门设阵，以阻敌人前锋。十三日，于谦派骑兵引诱也先，也先率数万众至德胜门时，明朝伏兵冲出，神机营火器齐发，将也先兵马击溃。也先又转攻西直门，城上守军发箭炮反击，也先又败。京师之围解除。 
正统十四年秋，明军于土木堡（今河北怀来土木镇）大败于瓦剌，英宗被俘，导致严重的军事危机，这已是广为人知的事实。但不同时代、不同作者对这次战役的记载颇多歧异与疑点，尚需条梳史料以澄清事实；明军参战人数、瓦剌军行进路线、明军回军策略以及明边镇在土木之战中的作用等诸多问题仍需探讨；以此为例，并可初步认识明代中期京营、边镇的规模和有关明代前中期史实记载的可信程度。
伤亡存疑
关于土木之战中明军参战人数，最早的记载见于刘定之《否泰录》：“官军私属共五十余万人。[4]”嘉靖后期以来，几乎所有言及出征人数的明代史家均沿袭此说，直至谈迁犹于“官军私属”强调甚明，而清人自谷应泰以下均不提“私属”，径作“官军五十万”乃至“五十余万”, 数字之差，语意全非。刘定之在《否泰录》末说道：“臣因取目击耳闻，参以杨善、李实所述《奉使录》，钱溥所撰《袁彬传》，约其繁复，著为此录。”李实《李侍郎使北录》未记出征人数，杨善《奉使录》今不传，估计亦不及此。钱溥《袁彬传》今亦不见，其内容应为袁彬于塞外侍奉英宗的事迹，也不太可能提到明军人数。则刘定之所记应来自“目击耳闻”，即明军出发时的确有号称五十万之举。
但《实录》绝口不提出征人数，仅说“官军人等死伤者数十万”。沿  土木之变此例只记伤亡人数者渐由“丧士卒数十万”到“士卒死者数十万”。从“官军人等死伤”到“丧士卒”再到“士卒死者”，衍化过程与“五十万”的遭遇相似。上引《否泰录》作者刘定之是《英宗实录》副总裁，与总裁陈文、彭时及副总裁吴节等于正统十四年各任翰林院侍讲、修撰、编修之职，所见所闻应无太大差别。修《实录》时“职任紧要，又在于副总裁官”，[9]而《否泰录》早在景泰年间已写成，不采其“五十万”之说于实录，说明土木之变十余年后，时人已经怀疑当年五十万大军的说法。但“死伤数十万”之说又不知何据，《否泰录》仅言“我师死伤过半矣。”可能《实录》作者为交代战争规模，只好以“死伤数十万”含糊了事。但此说一出，不但同样不采“五十万”说法的《四夷考》、《名山藏》、《明史》沿用，即连相信“五十万”之说的《国榷》、《明通鉴》等也采用之，以与“五十万”相呼应。另外一些不采“数十万”说者，如薛应 、雷礼、徐学聚、谷应泰、查继佐等多以损失“骡马二十万匹”搪塞。此说来自李贤所记：“二十万人中伤居半，死者三之一，骡马亦二十余万，衣甲兵器尽为胡人所得。”李贤亲历土木之变，侥幸逃生，所记当较单凭在京“耳闻目击”者可靠。后人既然摘其记录，却仅断章取义，而对其详细的军队人数和伤亡记载不予理睬，实在难以理解。
另外，土木之变前夕朱勇率军败死鹞儿岭。《实录》载其率军四万，《献征录》卷五李贤《成国公朱公勇神道碑》、王世贞、徐学聚、叶向高、谈迁因之。《否泰录》载：“遣朱勇等三万骑还战。”高岱、黄光升、谷应泰因之。三万骑与四万人尚可相辅相成。不过李贤在《天顺日录》中又说是“率五万兵迎之。”雷礼、严从简、查继佐因之。《明史》卷一四五《朱勇传》却作“所率五万骑皆没”，显然是专取最大数目，又擅改“兵五万”为“五万骑”[5]。（其卷三二八《外国传·瓦剌》又作“四万人”，显然原稿非出一人之手。）
王世贞记土木之变时于出征、伤亡人数一并不书，却又记朱勇军数。严从简在此同样详事而略数。来明后期已经有人对传世的明军人数和伤亡数大为怀疑，因而阙略不书。
明军出发时究竟有多大规模呢？《实录》载：“车驾发京师亲征。  示意图……命下逾二日即行，扈从文武吏士皆仓猝就道云。”此前三天，“命在京五军、神机、三千等营在营操练者人赐银一两，……兵器共八十余万。又每三人给驴一头，为负辎重。”可见明军仓猝出发，兵员仅来自三大营以及必备的亲军。关于三大营的兵额，明代中后期以来有多种说法，一般认为永乐时有三四十万。而对土木之变前京营规模尚无令人信服的说法。
当时京营由班军和在京卫所操练官军、幼官、舍人组成。关于班军，“宣德元年，调河南、山东、大宁都司、中都留守司、直隶淮阳等卫及宣府军士至京备操，令每岁输班往来。原额春秋两班，官军一十六万员名，……正统十四年，令外卫轮班官军京操者，前班三月还，八月到，后班八月还，次年三月到，河南、山东、北直隶强壮官军，皆隶前班。”可见土木之变当年班军轮班之法未废，当时在京营班军满额应有八万人。
关于京卫操军，《实录》载：宣德五年“成国公朱勇言：‘旧时五军每军步骑二万人。后调大同等边备御，今五军总存五万七千余人。而神机诸营比旧亦少，扈从、征调不足于用。请令行在兵部如旧取补。’上命兵部于京卫选士卒通十万隶五军训练。”正统二年，“命太保成国公朱勇选军。先是，勇奏五军营原操马步官军调遣各边备御，并逃亡者共缺二万五千有奇。乞命官于五军属卫及亲军卫分并河南、山东、大宁三都司官军内选补。”[19]两个月后，“朱勇等奏：奉命选拔三千大营、五军、神机等营精锐官军十五万一千有奇。欲将续选行在锦衣等七十卫官军，与之相兼编伍训练。然于内有守陵、守卫、供役、上直者，乞为处之。上命守陵、守卫各存其半，供役、上直旗校隶锦衣卫官督操，其余俱听训练备用。”十五万军中必然已本包括京卫军，续选即应指所述四类，所增加者，不过原以各种名目推托操练者。但《明史》卷八九《兵志一》解释朱勇正统二年选兵事说：“令锦衣等卫、守陵卫卒存其半，其上直旗校隶锦衣督操，余悉归三大营。”认为正统时京卫操军包括上直卫军一半和五府所属在京卫所全部。即便按这样计算，京营规模最大有多少呢？
据叶盛《水东日记》卷二二《府卫官旗军人数》：“正统十四年未多事之先，五军都督府并锦衣等卫官旗军人等”计3,258,173名，实有1,624,509名。其中“锦衣等三十五卫”294,117名，实有159,871名。“五府并所属”2,964,056名，实有1,464,638名。锦衣三十五卫与五府所属分列，则应指亲军二十六卫与武功中、左、右卫，永清左、右卫，彭城卫，长陵卫，献陵卫和景陵卫等役作军卫和陵卫，五府所属京卫至万历共三十九卫。无论全国统计，还是将三十五卫分别统计，军员实额皆为原额之半，不妨以此作为当时各卫的普遍情况。役作军当然不会编入三大营，所以将亲军二十六卫与三陵卫合计，约占三十五卫的六分之五，应有十四万人左右，取其一半为七万人。若按叶盛所记，五府属卫每卫平均六千六百人，则五府属卫之半应为十三万人。但考虑到外卫往往有额外的千户所，而京卫一般五所，则五府属卫按每卫满额五千六百人的一半计，为十一万人。合计得十八万人。若减去朱勇所言征调各边的京营兵与逃亡者，则京卫操军军数尚远不及此。
土木之变后五天，“令新选余丁、官舍并旧操舍人及报效者人赐银一两，布二匹；守城匠人、守门军火夫并皇城四门内外官军人赐布二匹。”新选余丁、官舍无疑是匆匆凑集的新兵，而旧操舍人应是来自隶属五军营的幼官舍人营，报效者应来自殚忠效义营，匠人、火夫可能来自专供匠役的武功诸卫，他们都应属战斗力较弱者，故得留守。官军显然指留守的部分上直军。土木之变后次日“京师戒严，羸马疲卒不满十万。”就是指这些留守军队。姑且以旧操幼官、舍人占留守兵一半即近五万人计，合计班军、京卫操军与幼官舍人，当时京营最多三十万人。
英宗亲征前一月即六月底，“命太保成国公朱勇选京营四万五千人。令平乡伯陈怀、驸马都尉井源、都督耿义、毛福寿、高礼，太监林富率三万往大同，都督王贵、吴克勤率万五千往宣府，各备虏。”可见英宗亲征前京营兵精锐已被抽调出不少。明军从京师出发时，合计三大营与全部上直军，即三十万加七万，再减去十万和四万五千，规模当在二十三万上下。即使“私属”队伍庞大，明军总数也就在二十五万左右。
明军几经辗转到达土木堡时，人员组成已经有不少变化。据《实录》，六月派到大同、宣府的将领中，陈怀、井源、王贵等死于土木堡，吴克勤死于土木之变前夕的断后之役，说明明军离开大同、宣府时，六月派来的京营兵随行回京。《否泰录》说英宗进兵到宣府时“井源败报踵至”，《李侍郎使北录》载明军到大同后遣“平乡伯”即陈怀出战败绩，说明此部明军已经大受损失。而明军在到达土木堡的前一天更是损失惨重：“庚申……遣恭顺侯吴克忠为后拒，克忠力战败没。将晚报至，又遣成国公朱勇，永顺伯薛绶领官军四万赴之。……亦陷焉。” 吴克忠军作为后卫，其数量当以万计。这样增损之后，再算进行军过程中的减员，明军到达土木堡时的规模应约二十万，与李贤所记正相符合，这也间接证明了以上对京营规模的估计。
明军号称五十万，可能只是沿永乐时以五十万大军亲征的说法以大造声势而已。相比之下，《正统临戎录》引也先语：“前番营里皇帝领出来大小四十万人。”倒比“五十万”更近事实。
《实录》载土木之变前的战争进程说：“庚申……车驾将发。宣府谍报虏众袭我军后，遂驻跸遣恭顺侯吴克忠为后拒，克忠力战败没。将晚报至，又遣成国公朱勇，永顺伯薛绶领官军四万赴之。勇、绶至鹞儿岭，冒险而进，遇虏伏发，亦陷焉。……辛酉车驾次土木，……其南十五里有河，已为虏所据，绝水终日，人马饥渴，虏分道自土木近旁麻峪口入。守口都指挥郭懋力拒之。终夜，虏兵益增。……壬戌，车驾欲启行，以虏骑绕营窥伺，复止不行。虏诈退，（王）振矫命抬营就水。虏见我阵动，四面冲突而来，我军遂大溃。”
显然，明军到达土木堡时，堡南河流已为瓦剌所踞。鹞儿岭位于英宗当天所在的雷家站（今新保安）西北四十里。其后郭懋阻瓦剌于麻峪口，地在雷家站东偏北。瓦剌何以能够扼守远在雷家站东南的桑干河？土木之变后叶盛建言：“今日之事，边关为急。往者独石、马营不弃，则六师何以陷土木？”后来于谦说：“（杨俊）遇达贼临城，不能效力死守，辄将独石、马营归贼，并仓储、钱粮尽行捐弃在逃，以致士卒溃散，城池失守，开贼突窜之路，因而辱国丧师，至今令人痛恨。”严从简《殊域周咨录》卷十七也说：“土木之变根于此路（指宣府东路，即独石、马营等处），由于杨俊之失机，故杨氏有余诛也。”他们都认为，由独石（今河北赤城以北独石口）、马营（今赤城西北）南下的瓦剌军，才是造成明军覆灭的主因。
土木之战前宣府以东的战况究竟如何呢？瓦剌首领阿剌知院言：“王子军马从东来，也先从西来，我从独石、马营来。我伤了几处小边城。”他“伤”了哪几个“小边城”呢？《实录》卷一八零正统十四年七月癸巳条载：“宣府总兵官都督杨洪奏：‘达贼围马营已三日，将河水断绝，营中无水。’”土木之变后十天，“总督独石等处备御都督佥事孙安言：‘先有敕命都指挥赵玫守备独石，杨俊守备马营，夏忠守备龙门卫，署都指挥鲁宣守备龙门千户所，臣同少监陈公总督。今贼势甚多，军力甚少，若分守恐难御敌。’王令陈公、孙安、赵玫、杨俊率所领官军来居庸关外驻扎，为京师外援。”似乎是明守军主动撤退。但七天后，“罗亨信劾守备赤城堡指挥郑谦、徐福，雕鹗堡指挥姚宣先于七月内闻贼入境，弃城挈家奔走，以致怀来、永宁等卫亦行仿效。”显然，杨洪上报，无非是为其子杨俊南逃寻找借口，估计其兵溃就在此时。杨俊首先南逃，致使赤城（今赤城县城）、雕鹗（今赤城南雕鹗村）、龙门卫（今赤城西南龙关）、龙门所（今赤城东龙门所）、怀来（今京包铁路官厅水库桥底）、永宁（今北京延庆永宁镇）纷纷失守，宣府以东、居庸关外已无坚强防御。怀来位于土木堡以东、清水河（今官厅水库）北岸，占据土木堡以南河流的应当就是已进至怀来的阿剌知院军。明军至土木堡，实因怀来已失守，不得已而就地扎营。正是由于阿剌知院军截断明军归路，才造成瓦剌军主力追及并合围明军，故叶盛、于谦才会强调独石、马营失守的严重后果。
在元代，土木堡是大都西行，北通上都和西抵大同的交通枢纽。至明代，“由今宣府西北经万全右卫、膳房堡、野狐岭，逾塞垣以达兴和，此永乐中击虏之西路，甚平坦，虏亦常由此入寇。……今土幕驿直北长安岭、雕鹗堡、赤城、云州、独石，逾塞垣以达开平，此永乐中击胡之东路。”所谓西路，即分自去大同的驿道而由宣府直接出塞之路，后英宗即由此回国。东路与元代去上都的驿路无异，景泰时使臣曾走此路。可见明代土木堡仍为宣府后方内外交通的枢纽，“当虏之冲”。从上述鹞儿岭和麻峪口的位置以及瓦剌在宣府才发现明军看，瓦剌军可能就是兵分两路，沿永乐中“击虏”旧道南进的。西路军由野狐岭入境，发现英宗后报知也先，并歼灭明后军；东路军因独石以南已无明军防守，七月已占领怀来、永宁，扼守要津，以逸待劳，直至也先率主力赶到。明军之所以在土木堡覆灭，与它的交通枢纽地位有直接关系。 
尽管瓦剌军趁宣府东北明军溃败而得长驱南下，但明宣府重兵未损，时间、距离均充裕，为何不出动夹击瓦剌军呢？宣府兵力在明代前期为各边之冠，据《宣府镇志》卷二一《兵籍考》可得下表：
时代
军士全额
操军数额
驻宣府城军额
驻宣府操军额
洪武
126,395 
56,152
​​正统、景泰
90,346 
55,195
​​正德
66,979 
50,759 
23,274 
18,930
洪武时驻宣府城军额占总额近一半，正德时减至三分之一强，若取正统年间为变化中段，当时宣府军额当为四万左右。而自正统、景泰至正德，操军总额几乎未变，参考正德时比例，正统时宣府驻兵至少有三万人。据卷二四《兵骑考》，“镇城原额操马”有12,864匹，正德间实有12,387匹。原额应为洪武时例，至正德时无大变化，估计正统时亦约此数。又卷二三《兵器考》载宣德时内府颁宣府火器，有大将军炮14，神枪479，神铳2161，神枪4223等等，数量巨大。可见土木之变时宣府驻兵至少有三万人，战马一万余匹，火器充裕，若再编集镇城附近驻军和东路溃兵，足以组成一支包括骑兵和火枪兵的强大部队。李贤《天顺日录》说，宣府总兵官杨洪“惊惶无措，闭门不出。若土木之围，洪能以后冲之，必无是败。”而实情恐不止此。
《明史》卷一七三《杨洪传》载：“（杨）洪独以敢战至上将，诸部亦惮之，称为‘杨王’。瓦剌可汗脱脱不花、太师也先皆尝致书于洪，并遗之马。洪闻于朝，敕令受之而报以礼。嗣后数有赠遗，帝方依任洪而不责也。”既然“敕令受之而报以礼”，后来却又因“依任”方才“不责”，说明此后杨洪与瓦剌的交往已经超出了边将的职权。杨洪正统时的军功皆击兀良哈所建，并未与瓦剌作战。宣府与瓦剌仅一墙之隔，来往频繁，彼此达成互不侵扰的默契非不可能。后英宗被拥至大同，侍从袁彬进城接洽，“入城取李指挥。李指挥说：‘我女儿与大同王对亲。如今不与他，我虽出去，他定杀了我。’”大同王是瓦剌的主要首领之一，而明军边将与之议婚约且直言不讳，可见边将与瓦剌交往之深且多，以求相安无事，亦为正统后期双方往来频繁时的风气。如此，宣府兵在土木堡形势危急时保持沉默，实乃与瓦剌苟且相安的一贯做法。
明英宗率军直至大同，本欲北行出战，说明英宗以为瓦剌军主力在大同塞外。其实当时瓦剌的游牧区域，西达东胜，东至阳和，北逾阴山，南抵长城，其部下阿剌知院部更在偏东一带。而夏季也先往往牧于偏东一带。正统十四年夏瓦剌刚刚东征女真归来，所居应更偏东。土木之变前瓦剌从阳和、独石两个方向入侵，就说明瓦剌主力已在大同东北、宣府西北。《实录》卷一八一正统十四年八月庚戌条：“车驾东还。……初议从紫荆关入。王振，蔚州人也，始欲邀驾幸其第，继而又恐损其乡土禾稼，复转从宣府行。”时当中秋时节，地处塞北的蔚州会有“禾家”，值得怀疑。紫荆关在大同东南，远离边塞，而沿线守御远较宣府、居庸一线薄弱。议者所虑，非瓦剌军尾追，而是担心遭到宣府边外的侧击，可能意识到瓦剌主力已东移。出征前英宗接到了阳和的败报，而独石兵溃之事则被隐瞒了，所以明军才会直趋大同。退兵时虽意识到遭侧面进攻的危险，却似乎仍未得到东路失守的消息，所以仍原路返回。而瓦剌在大同方向主动撤退，集中于宣府塞外，置杨洪重兵于不顾，趁宣府东北明军防御体系崩溃之际，先据要津以切断明军水源，再一举伏击明军成功。
在后世记载中，土木之战简直就是一场闹剧。所谓明军五十万精锐一朝尽丧于瓦剌二万众之手，多被归咎于明军的孱弱和王振的胡作非为。正统末明军的战斗力当然已不如洪武、永乐时，但此时距永乐时期仅二十余年，距宣宗率京营亲征兀良哈更不足二十年，军队实力下降当不致如此之快，土木之战中明军规模并非五十万，而是二十万，或可稍为明军战斗力低下的解释。从群臣击杀王振余党开始，后人就把英宗被俘归咎王振。《明史》卷十二《英宗后纪》赞曰：“独以王振擅权开衅，遂至乘舆播迁。”是有代表性的说法。但英宗以永乐、宣德亲征获胜为楷模，在瓦剌日益侵逼、边报日急的形势下亲征，也是合理的选择。史载王振在到达土木堡后贪等辎重而不入怀来，又错选扎营地点，以致为瓦剌追及。实则瓦剌已先于明军到达土木堡以东，明军就地驻营乃至无法取水，都是不得已的选择。明军情报错误，进无敌踪，退为所乘，才是致败的主因。而宣府东北防御崩溃，给瓦剌敞开大门以伏击明军，宣府兵在战局紧张时不予配合，使瓦剌获得了意料之外的巨大胜利。总之，土木之战的结局带有相当的偶然性，宦官弄权在本次战争中并非明军失败的关键因素，而明军战斗力下降应是制度多年败坏的结果，当时并非后世所渲染的那么不堪一击。
由于明代军数是当时的秘密，历来对不同时代京营的规模众说纷纭。明代后期往往有诸如“国初京营不下七八十万”的说法，虽不可靠，却经常被现代学者引用。其实，就某些特定时期而言，根据《会典》提供的制度资料，《实录》提供的军事调动与军队分配情况，以及当时方志、笔记提供的具体数字，具体探讨京营规模并不困难。这对解决一些历来难有定论的战争、军事制度问题或有裨益。
关于明前中期史实，同时代记载本已匮乏。在明军人数这个问题上，李贤虽有较准确的记载，《实录》却不加采用。明代中后期史学家撰述时，多辗转传抄，对史实往往不加辨析，或照录刘定之耳闻号称之辞，或虽有疑问却不能解惑，致使以讹传讹，五十万大军尽丧土木堡之说遂成定论。清初人私修明史，又率抄袭明人旧说，乃至妄省文句，使讹误更深。至修《明史》时仍粗汇实录与各家之说，对明显可疑的说法也没有作出解释，甚至专取叙述明军失败情况最严重的记载，不但贻误后人，且难免夸大失实之讥。谢国桢《史料学概论》第五章第三节指出：“清朝统治者讳言明朝驱逐蒙古于漠北的事迹，犹如讳言建州女真曾臣服于明朝一样。”所以《明史》对“对于明初的事实记载多不详实。”看来这种讳言建州以致讳言蒙古的倾向，还导致了《明史》在记录明代中期明军失败时随意渲染败状。总之，关于明前中期史实，不但明后期诸史家及清人记载特别是《明史》难以尽实，即连《实录》也未可遽信，在当时人的文集、笔记中反而能找到差近事实的记录。