皇祐四年四月,
侬智高起兵反宋,进破邕州,旋率7000(一说5000)兵顺郁江(今广西境)东下,连破9州,直抵广州。攻城受挫后,撤围退走。回师途中,又破昭(今广西平乐)、宾(今广西宾阳)等州,退据
邕州(今广西南宁),击杀宋将、知州等官吏数十人。是年六月至八月,宋廷先后遣
广南西路钤辖陈署,广南东西路
安抚使杨畋、广西
经略安抚使余靖,荆湖南路、江南西路安抚使
孙沔等率军进击,均无建树,一时岭南震动,宋廷深以为忧。九月,枢密副使
狄青自请出战。他针对侬军多执长枪的作战特点与宋军失利的原因,制定了以骑制步的方略。十月初,
狄青被命为
宣徽南院使,荆湖南北路
宣抚使,率
鄜延、环庆;泾原路蕃落、广锐军1.5万步骑启行。次年正月初,进抵宾州(今广西宾阳),与
孙沔、
余靖等会师,合军3.1万。时岭南诸军兵疲意沮,纪律松弛,有令不行。
狄青未至前,传令诸军占据要地,勿擅自出战。陈署恐
狄青独得战功,违令率8000步卒轻出,因军纪涣散。将无威令,兵败金城驿(今广西南宁东北),丧师2000余。
狄青整饬军纪,严申军律,数陈署败军之罪,将其与所属将校32人处斩。诸将相顾失色,全军肃然,令行禁止。旋声言休兵,令诸军备10日粮,借上元节,张灯3日,分宴将佐军校,佯作按兵不动。侬军侦探不知
狄青兵谋,返报宋军不会即进。
侬智高部将建议扼守昆仑关俟宋军粮尽兵疲而击。
侬智高轻敌,未加戒备。十六日夜半,
狄青称疾退席,乘风雨夜暗,出其不意,率轻骑倍道潜出,袭取昆仑关,于归仁铺(今广西南宁东北)列阵。黎明,军侯来报,诸将方知
狄青已经出关,
孙沔、
余靖遂引军急进。
侬智高见险关已失,倾数万众布阵迎战。
狄青依侬军阵势,令右班殿直
张玉为先锋,如京副使贾逵、西京左藏库副使孙节分别率左、右军,
孙沔、余靖率中军,自率精骑隐蔽于阵侧后。初战,侬军气势甚锐,频频猛攻,孙节力战而死,宋军稍退。贾逵见侬军蜂拥而至,引军占据高地,麾众自上而下冲击,断侬军陈为二。是时,鼓声大振,
狄青手持白旗,挥旗从两翼杀出。
两路骑兵互相穿插,忽左忽右,不时变换冲击方向。侬军犹疑,不知所为,阵势大乱,纷纷逃遁,退回邕州。宋军追杀50余里,杀其弟侬
建中、侍郎
黄师宓及士卒2200余人,俘500余人。是夜,宋军兵临城下,虚张声势,鼓噪大呼,
侬智高以为宋军欲将攻城,纵火焚城。逃往大理(今属云南),广南平。
点评:此战,
狄青精心筹谋,出征前充分准备,改制兵器,确定了以骑制步的正确方略。临战,整饬军纪,激励将士,出其不意,袭取昆仑关。及战,巧施迷阵,发挥骑兵优势,自两翼夹击,一举平定
侬智高十月之乱,巩固了宋南部边疆。