陈寅恪曾经说唐代武功为中国历史上之“空前盛业”,而《新唐书》卷216下《吐蕃传下》则云:“赞曰:唐兴,四夷有弗率者,皆利兵移之,B其牙,犁其廷而后已。”但就在这个巅峰时期,唐军却遭受了建国以来最大的军事失败――薛仁贵十余万大军在大非川遭到吐蕃军队毁灭性打击。唐朝军队从此再未曾涉足乌海(今托索湖)以西地区。
唐朝武功至高宗时期已臻极盛,此时东突厥已在贞观初年被击败;西突厥实力较弱,称不上是腹心之患,唐在西域设置四镇;北部代突厥而起的薛延陀在太宗晚年亦被击败;从隋炀帝时期就屡攻不下的高丽于总章年间被消灭;稍前百济已经被唐水师泛海攻占,日本军队前来干涉亦被痛剿。唐军可谓傲视天下。
实际上,在大非川战役之前,唐与吐蕃已经干过一仗,只是影响不大。贞观十五年松赞干布向唐求婚不得攻打松州,唐军予以反击。这是最早见诸于文字记载的唐蕃战争。随后在龙朔二年十二月,苏海政讨龟兹、疏勒时,弓月部引吐蕃来援,“海政以师老,不敢战,遂以军资赂吐蕃,约和而还。”这是吐蕃与唐在西域发生军事对峙最早的记录。
大非川战役发生是为了救援属国。按照《旧唐书》的说法就是“(吐蕃)后与吐谷浑不和,龙朔、麟德中递相表奏,各论曲直,国家依违,未为与夺。吐蕃怨怒,遂率兵以击吐谷浑,吐谷浑大败,河源王慕容诺曷钵及弘化公主脱身走投凉州,遣使告急。咸亨元年四月,诏以右威卫大将军薛仁贵为逻娑道行军大总管,左卫员外大将军阿史那道真、右卫将军郭待封为副,率众十余万以讨之。”表面看来是为吐谷浑复国,薛仁贵实际上执行的是围魏救赵的战略,迫使吐蕃撤回了在西域的主力部队。
唐军“以逻娑为出师之名,或许有胜利后直捣黄龙之意”。 战前唐方踌躇满志,大胆深入。据《旧唐书》卷83《薛仁贵传》。唐军在大非川分兵,一路主力部队由薛仁贵率领,一路辎重部队由郭待封率领。原作战计划是辎重部队在大非岭上设栅固守,主力部队倍道疾进。
唐军的冒进给了吐蕃军队各个击破的机会。薛仁贵到达河口时击破吐蕃部分部队,然后回撤到乌海城,而郭待封在主力部队出发后并没有在大非岭建立阵地,而是继续前进,刚到乌海地区就被突然出现的吐蕃军队击溃,辎重军粮全部损失,薛仁贵没有了补给也就只好撤退,在大非川遭到吐蕃军队毁灭性打击。此战虽然名为“大非川战役”,实际上胜败决于乌海。乌海(托索湖)自古就是青藏高原上交通要道,文成公主入藏就经过这里,这里海拔在4000米左右。
疾病也让疲惫不堪的唐军战斗力削弱。薛仁贵的部队经历了一个由低海拔向高海拔急速前进的过程。青藏高原本身是一个地形复杂、间有起伏的高原。唐军出发地点当在鄯州(今青海省乐都县),这里位于河湟谷地,海拔在2300米左右,这个高度上出现高山(原)反应的可能性很小。到了海拔4000米以上的乌海则会有相当一部分人出现高山(原)反应,有发生急性肺水肿、心脏病的危险,而多数人则会眩晕、头痛、心慌、腹泻、疲乏。更何况薛仁贵指挥部队“轻锐倍道”,也就是说快速由低海拔地带推进到海拔较高地带,缺乏适应高原环境的必要时间,而且体力消耗一定很大,这样造成的后果会更加严重。
大非川战役后高宗曾经对薛仁贵说:“有人云卿乌海城下自不击贼,致使失利,朕所恨者,唯此事耳。”这说明薛仁贵当时有消极避战的嫌疑,与其战役初期大胆深入敌境的勇气形成强烈反差。大非川战败,“薛仁贵、郭待封覆我师徒,军人丧气,至今不振”。