吐蕃与唐朝的战争最早有记载可以追溯到大唐龙朔二年(662年)十二月。当时,苏海政率军讨伐西域的龟兹、疏勒,吐蕃国派兵增援。《旧唐书》记载:海政以师老,不敢战,遂以军资赂吐蕃,约和而还。可见,双方并未真正交锋,各自撤兵收场。 此后,由于吐蕃与吐谷浑关系紧张,双方爆发战事。吐谷浑节节败退,被迫向宗主国大唐求援。《旧唐书》载:咸亨元年(670)四月,诏以右威卫大将军薛仁贵为逻娑道行军大总管,左卫员外大将军阿史那道真、右卫将军郭待封为副,率众十余万以讨之。
唐军对吐蕃的战力并未给予足够重视,认为这类小国不足为惧,必然手到擒来。唐军在大非川布兵两路,主力由薛仁贵率领直攻,后勤部队由郭待封负责在大非岭防守。起初,薛仁贵大败吐蕃,占领乌海城。然而,郭待封贪功冒进,未守大非岭,径直推进乌海,结果遭到吐蕃伏击,粮草辎重尽失,薛仁贵的主力部队因此失去补给,不得不仓皇撤退。在大非川再次遭遇伏击,唐军大败而归。 此役的战略初衷源于薛仁贵的判断:吐蕃大举进攻吐谷浑,必然国内空虚,只要拿下吐谷浑,即可切断吐蕃后路,为下一步直捣逻娑创造条件。大非川地处今青海省共和县,冰川雪域环绕,地势险峻,唐军为速取乌海,不敢掉以轻心。 乌海地区交通不便,辎重运输困难,薛仁贵便派郭待封率两万人在大非岭设营守护粮草,自己率主力突袭乌海。果然,河口之战中,唐军轻取毫无防备的吐蕃军,占领乌海。然而,郭待封擅自冒进,被吐蕃二十万大军围困。唐军粮草尽失,随后吐蕃集结四十万大军在大非川与唐军决战。由于后勤缺乏保障,唐军几乎全军覆没。 大非川之战成为唐朝外战中最惨重的一次失败,吐蕃由此跃升为西域强国,唐朝被迫将安西都护府迁至西州。这场战役由吐蕃名将论钦陵指挥,他临危不乱,迅速调集兵力袭击唐军粮草、辎重,切断补给,又以四十万大军逼迫薛仁贵决战,最终以兵力优势取胜。郭待封擅自行事虽有过失,却也出于无奈——若不紧跟大部队,唐军补给一旦被切断,后果难以想象。吐蕃动员全国兵力,围攻唐军,但薛仁贵毕竟是大唐名将。唐军虽损失惨重,吐蕃也付出不小代价。最终,双方选择讲和。大非川之战之后,吐谷浑被并入吐蕃,自此唐与吐蕃之间战事频仍,攻防交替不断。 公元675年,唐重新控制西域安西四镇,《资治通鉴》记载:大破吐蕃,复取四镇。置安西都护府于龟兹,发兵戍之。唐玄宗时期,唐军将战线推进至青海湖以西,从东到西北形成对吐蕃的压制。吐蕃赞普被迫向唐玄宗求和,唐军在对吐蕃的战争中几近取得全面胜利:筑城于青海中龙驹岛,谓之应龙城,吐蕃屏迹不敢近青海。