开元二年(714年)七月,薛讷与左监门卫将军杜宾客、定州刺史崔宣道统兵六万,从檀州(今北京密云)向契丹聚居地进发。
走到滦水(河北承德西湾河)附近的山谷时,契丹伏兵四起,把唐军死死压制于狭窄的山谷内动弹不得,又呐喊呼啸着从山顶向下发起猛攻。
唐军受到地形限制,兵力优势无从发挥,被打得大败,死伤四万余人。薛讷仅率数十骑突围,被契丹人嘲笑为“薛婆婆”。
打了大败仗,自然要有人担责。薛讷很不地道的把锅甩给了李思敬等八名将领,玄宗下诏将这八人于幽州斩首,把薛讷削职为民。
两次战败,唐军士气低迷。八月二十日,吐蕃宰相坌达延、大将乞力徐又统率十万大军进犯临洮(今甘肃定西泯县),盘踞于兰州,在渭源一带抢掠牧民马匹。
这次进犯其实已有预兆,早在五月份时,坌达延曾致信给大唐宰相,请求派前朔方大总管解琬,到黄河河源(今青海玉树曲麻莱县)勘正两国国界,然后缔结停战盟约。
此时解琬已经退休,玄宗重新任命他为左散骑常侍前往处办。解琬熟知吐蕃习性,提醒玄宗:“吐蕃并不是真想恢复和平,一定有什么阴谋。请在边境地区屯驻十万军队加以戒备。”
六月十一日,勘界完成,吐蕃宰相尚钦藏到长安呈献结盟文书。
吐蕃把和谈结盟做的非常真实,体现出他们渴求和平的诚意,而实际上早在边境集结重兵,企图趁大唐不备发动袭击。
好在玄宗采纳了解琬意见,已经有所准备。
得知吐蕃进犯,玄宗重新起用薛讷,让他以平民身份代理左羽林将军,兼任陇右防御使;并安排右骁卫将军常知运、太仆少卿王晙做他副手,共同对付吐蕃。
吐蕃没有达成战役行动的突然性,只得与唐军在边境线上形成对峙状态。
十月初,吐蕃再次挑起事端。玄宗下令进攻,王晙与所部两千将士自中受降城(今内蒙包头西)赶来参战。