为了与吐蕃帝国争夺战略意义重大的安西四镇,唐高宗派智勇双全的征东名将、右威卫大将军薛仁贵为逻娑道行军大总管,左卫将军郭待封为副将。郭待封是初唐功臣郭孝恪的二儿子,自恃名将之后看不起出身贫寒的薛仁贵。而且,两个人本来官位平级,皇帝却让薛仁贵做主帅。郭待封因此嫉妒薛仁贵,对屈居于其下十分不满。
吐蕃名将噶尔·钦陵号称率兵四十万,来势汹汹。唐军兵力少,又缺乏在青藏高原地区作战的经验,这一仗并不好打。薛仁贵深知此战宜速,绝不宜久拖。考虑到预定战场遥远,他留下郭待封护送辎重粮草,令其在大非岭修筑工事以防备敌军偷袭。自己则亲率主力部队轻装奔袭,打得吐蕃军猝不及防,伤亡很大。薛仁贵顺势占据了要地乌海城,为唐军赢得了主动权。
然而,郭待封心存妒忌,不当面否定薛仁贵的计策,却又不服从指挥。他擅自带领辎重部队继续前进,又慢吞吞地行军,没有赶快与薛仁贵汇合。结果,吐蕃主帅噶尔·钦陵抓住这个机会调集了二十万大军猛攻唐军辎重部队。郭待封惨败,唐军辎重粮草尽失。薛仁贵见状,不得不退守大非川。而噶尔·钦陵又集结了举国四十万兵马与唐军交战。薛仁贵无险可守,又缺衣少食,再加上兵力远少于敌军,最终几乎全军覆没。薛仁贵等将被迫与噶尔·钦陵订下合约。吐蕃军乘胜追击,攻占了青海西部,唐军没能收复西域的安西四镇。这是名将薛仁贵一生中罕见的败仗。