首战,唐军与一万多吐蕃军于河口(今青海玛多)遭遇。吐蕃军猝不及防,大败,伤亡甚众,损失牛羊万余头。薛仁贵令鼓西而进,乘胜进占乌海城,以待后援,此时薛仁贵心中一定又想起自己仅率两千人攻入高句丽重镇扶余城的壮举,“将军三箭定天山,壮土长歌入汉关”的歌声似乎又在西域回响。但郭待封并没有遵守薛仁贵的指令,在大非岭上凭险置栅,构筑工事,而是擅自率后队继进,又未能及时到达乌海城与薛仁贵会合。郭待封行至半路,吐蕃20万大军从天而降。郭待封不能抵敌,辎重、粮草尽失。薛仁贵被迫退保大非川。八月,吐蕃军在论钦陵指挥下,在大非川以40万大军逼唐军决战。薛仁贵无险可据,更无粮草供应军需,大败,几乎全军覆没。薛仁贵“与钦陵约和而还”,唐残兵才得以生还,吐谷浑被并入吐蕃,逃亡可汗诺曷钵回到故地的愿望永远也不可能实现了。
大非川之战是唐朝开国以来对外作战中最大的一次失败,吐蕃凭此战一跃成为与大唐分庭抗礼的西部豪强,吐谷浑亦成为吐蕃别部。唐朝被迫撤销四镇建制,安西都护府迁至西州(高昌,今新疆吐鲁番。关于安西都护府的事情前章已简述)。一般认为,薛仁贵此战已获先机,但郭待封的擅自行动使唐军由胜转败。其实,郭待封的擅自行动是唐军失败的重要原因,但不是全部原因,即使郭待封不擅自行动,唐军也未必能赢。