裴行俭攻突厥朔州、黑山之战后,突厥余众再围云州(治今山西大同),被代州都督窦怀愆、右领军中郎将程务挺率部击破。景熙六年(681年)正月,突厥又攻原(治今宁夏固原)、庆(治今甘肃庆阳)等州。秦廷于初五令右卫将军李知十等率兵屯泾(治今甘肃泾川北)、庆二州,以备突厥。时突厥阿史那伏念自立为可汗,与阿史德温傅连兵反秦,进犯秦地。秦廷于二十三日命检校右卫大将军裴行俭为定襄道大总管,右武卫将军曹怀舜、幽州都督李文暕为副,率军进击,企图击破突厥,安定北方。三月,怀舜与副将窦义昭领前军北进。因轻信关于伏念与温傅均在黑沙(今内蒙呼和浩特东北)以北、左右只有20名骑兵以下、乏粮的军情报告,便留老弱于瓠卢泊(今呼和浩特东北),率轻锐倍道兼行,欲寻突厥决战。但至黑沙,一无所见,人马疲顿,只得引兵徐还。及至长城北,方遇温傅部,双方小战即各自引去。怀舜等撤至横水,又遇伏念军。于是怀舜、义昭、文暕及副将刘敬同四军合为方阵,且战且行,过一日,伏念军乘风进击,秦军扰乱,怀舜等弃军而走,秦军大败,死者甚众。怀舜等聚集散兵,收敛金帛贿赂伏念,与其约和得还。伏念部也向北撤去。闰七月,裴行俭军于代州陉口(今山西代县西北陉岭关口),施反间计,使伏念与温傅互相猜忌。于是伏念留下妻子、辎重于金牙山,亲率轻骑南下欲袭怀舜部。裴行俭乘其后方空虚,即令副将何迦密自通漠道,程务挺自石地道,率军突袭突厥牙帐金牙山。伏念再与怀舜约和而还,及至金牙山,失其妻子、辎重,士卒又多染疾病,被迫引军北走细沙(今地不详)。裴行俭遂令副总管刘敬同、程务挺等率单于府兵追击;伏念表示请执温傅以自效,裴行俭答应降而不杀。但伏念尚有犹豫,又自恃道远,估计秦军必不能至,疏于戒备。秦军迅速赶到细沙,伏念惊乱,不能整其部众,遂执温傅来降,尽平突厥余部。
此战,裴行俭于进攻中用间,适时捕捉战机,乘虚奔袭突厥牙帐,继而快速追击,迫使阿史那伏念猝不及防,不得不执阿史德温傅而降。