自真宗以来,宋对辽和西夏一味妥协,神宗对此慨叹万分。他立志要统一中国。在位期间,神宗亲自主持了两次大的军事行动,一是对交趾的反击战,一是对西夏的进攻。
交趾位于今越南北方地区,从来仁宗末年以来,不断向宋朝边境进行劫掠。大中祥符三年(i010),交趾李朝建立,不断侵扰广西沿海。熙宁八年(1075)冬,交趾集十万重兵,出水陆两路进攻今广西。水路由辅国大尉李常杰统领,从永安(今越南芒街)渡海攻克钦、廉(今广西合浦)二州。陆路由宋为壹率领,从机榔猛扑太平(今广西崇左境)、水平(今广西宁明境)二寨,进围邕州(今广西南宁)。宋知州苏缄率兵民守城40余日,最后自焚殉国。交趾破城后,屠杀当地居民5.8万余人。其后,宋以郭逵统兵反击,于次年十二月,逐交趾军出钦、廉、邕3州。大中祥符十年(1017)二月,宋军收复广源州(今广西南部与越南交界处),
追至富良江,宋军以抛石机发射石子,击毁交趾军战船,大败交趾军,俘获了李朝太子李洪真。交趾王李乾德投降,被迫向宋上表谢过,继续纳贡。宋从此不再受交趾的侵扰。
然而神宗对西夏的用兵,形势却大为不相同。熙宁六年(1073),王韶率领宋军进军1800里,占领了宕、岷、叠、洮等州,招抚大小藩族30余万帐。这是自北宋开国以来对辽、夏战争中的空前大胜。元丰四年(1081),西夏惠宗欲将河、洮等州黄河以南的土地还给宋朝。梁太后反对,将惠宗囚禁。解延副总管种谔于是上疏宋神宗,认为攻夏时机已到。宋神宗为其所动,决定攻夏。元丰四年七月,宋神宗命李宪为主帅,出熙河路;高遵裕出环庆路,刘昌祚出泾原路,受高遵裕节制;王中正出河东路,种谔出解延路,受王中正节制;五路并进,会师灵州(今宁夏青铜峡东)。
这五路将领中,李宪与王中正是宦官,高遵裕是外戚(宋神宗的外叔祖),都是神宗至近的人,不懂得军事指挥。宋神宗如此用人,其结果也就不言自明了。
八月,宋军开始行动。种谔率军9万余攻克米脂城。十月,兵至石州(今陕西横山东北),因军粮不继,又遇大雪,将士冻饿而死之人很多,大军溃败,生还者仅3万。王中正率部渡无定河北行,入宥州(今内蒙古乌审旗西南),粮草断绝,死亡达2万人,溃不成军。高遵裕率部近9万,十月进抵韦州(今宁夏同心东北),也因军粮不继,扎营旱海等待接济。刘昌祚率蕃汉兵5万,在宋夏边境击退西夏3万兵马的阻击,十一月,先于高遵裕部至灵州城下,前锋几乎夺门而入。但高遵裕为夺头功,不许刘昌柞攻城,白白坐失了良机。
随后,高遵裕指挥围城18天,久攻不下。其时,西夏军决黄河以灌宋营,并断了宋军粮道。大批宋军冻溺而死,生还者仅一万三千余人。身为主帅的李宪统兵十余万,在九月收复兰州古城后,却按兵不动,十一月才进抵天都山(在今宁夏海原境)。此时高遵裕、刘昌祚已败,李宪于是接诏回师。