显庆二年(657年),面对反复无常的西突厥,唐高宗决心一劳永逸地解决问题。显庆四年(659年),薛仁贵与梁建方、契苾何力一道,与高丽军队激战于横山(今辽宁辽阳附近华表山),薛仁贵一马当先,箭无虚发,敌人无不应弦而倒。在随后的石城之战中,一位高丽神箭手连杀唐军10余人,薛仁贵怒发冲冠,一人一骑,风驰电掣,扑向神箭手,立马将敌人生擒,吓呆了的故人竟来不及拉开弓弦。显庆五年(660年),契丹阿仆固联合奚族共同反唐,薛仁贵和辛文陵在黑山大败契丹,活捉了阿仆固及一干首领,将他们押到东都。薛仁贵升至左武卫将军,封为河东县男。
龙朔元年(661年),铁勒酋长比粟毒伙同其他部落起兵犯境,唐高宗任命郑仁泰为铁勒道行军大总管,薛仁贵为铁勒道行军副大总管,出兵讨伐思结、拔也固、仆骨、同罗四部。
当时铁勒九姓拥兵十几万,凭借天山之地利,企图与大唐雄师一决胜负。他们派出数十位骁勇骑士出马挑战,眨眼间,就被薛仁贵三箭射死三人,胆寒之下,铁勒人下马投降,放弃了抵抗。为了消除后患,薛仁贵命令部下。将13万已经投降的铁勒人就地坑杀,制遣了中国历史上骇人听闻的杀降暴行,薛仁贵成了大唐敌人眼中的凶神恶煞,唐军中到处传唱道,“将军三箭定天山,壮士长歌入汉关”。
朝臣对薛仁贵的弹劾中有这样的语句,“娶妾虽作逗留,准法便须离正”,抢掠而来的女子做了薛仁贵的小妾,以当时的情形猜度,她很可能是位铁勒贵族,不同于戏曲中的代战公主,代战公主是硬逼薛仁贵做了自己的丈夫。
成亨元年(670年),薛仁责成为逻娑道行军大总管,以阿史那道真、郭待封为副,领兵10余万,迎战吐蕃军队。唐军大败,几至全军覆没,薛仁贵也被吐蕃抓获,在没有选择的情况下,只有与吐蕃主将噶钦陵议和。议和之后,薛仁贵自带枷锁,回长安向皇帝请罪。依照唐律,以他的丧师重罪,本应处死,皇帝念及他以往的功劳和忠心,只将他除名为庶人。
薛仁贵变成平民百姓,决不像小说中的胡编乱造,说什么李道宗设计陷害忠良,以致忠良蒙难。
根据官场运行的潜规则,有人是圈圈里面的人,有人是圈圈外面的人,而薛仁贵则是皇帝圈圈里面的人,一时贬放,终会东山再起。
开耀元年(681年),薛仁贵封为瓜州长史,不久又被授予右领军卫将军、检校代州都督,前往云州(今山西大同),出击突厥的阿史那元珍。薛仁贵率军追击,大破敌军,斩首万余级,俘获二万人,还有驼马牛羊三万余头。
永淳二年(683年),薛仁贵去世,赠左骁卫大将军、幽州都督,官府特造灵舆,护送还乡。极尽哀荣。