沙苑战役之前,西魏的关中地区已经持续了一年多的大饥荒,甚至到了人吃人的地步,关中约有十分之七八的人死于这场大饥荒。为了缓解国内的饥荒,西魏宇文泰不得不率军东出潼关,去东魏的弘农一带抢夺的粮食,以此来弥补国内的粮食困境。在抢粮和护粮的过程中,双方爆发了小关之战,宇文泰获胜。
东魏丞相高欢乘西魏丞相宇文泰攻占弘农(今河南三门峡市)的时候,亲率20万大军进攻西魏,打算一雪潼关之败的耻辱。除此自己亲自率领的主力之外,高欢还令高敖曹率兵3万出河南攻打上洛(今陕西商县)。
高欢行军路线
东魏天平四年(537年)闰九月,高欢军自壶口(今山西吉县西)经蒲津(今陕西大荔东)渡黄河,过洛水,进屯许原(今陕西大荔南)西,兵锋直指长安。面对来势汹汹的西魏大军,正处于大饥荒的西魏,开始人心浮动。西魏的夏州刺史张琼、灵州刺史曹泥相继反叛,向高欢归顺投降。随着东魏军队高歌猛进,一路上向高欢投降的州县络绎不绝、不计其数,最后只有华州刺史王罴坚决不向高欢投降,坚守城池。
宇文泰在东魏大军压境时,亲率不满1万人的军队,自弘农回师渭水南,征召各州的士兵前往迎战高欢,但是还没有汇合,宇文泰就准备出战高欢。西魏诸将以寡不敌众,劝说宇文泰应该坚壁固守。宇文泰看到各地纷纷向高欢投降,担心等到高欢逼近长安,就会大势已去,力排众议决定主动迎击高欢。于是,宇文泰为阻止东魏军逼近长安,乘其远来新至,不待州兵集合,就开始命令部卒在渭水架设浮桥,携带三日粮秣,轻骑渡过渭河。
十月初一,宇文泰领军进至沙苑,与东魏军仅距60里。宇文泰一面派部将达奚武领数骑侦察,一面与诸将商议对敌战术,最后决定在沙苑以东10里苇深土泞的渭曲设伏。
沙苑之战
初二早晨,宇文泰率兵背水列阵,以李弼为右翼,部将赵贵为左翼,选择驻地以东十里苇深土泞的渭曲设伏,令将士皆偃戈于芦苇中,闻鼓声即起。午后,东魏军队行至渭曲,都督斛律羌举看苇深土泞,建议暂时与西魏军相持,同时派遣精锐士兵偷袭长安。高欢主张烧芦苇焚西魏军。司空侯景、部将彭乐则建议生擒宇文泰。高欢最终听从了侯景、彭乐的意见,挥军直前,进攻已经列阵好的西魏军队。东魏军见西魏军兵少,未等列阵便争相进击。两军将交,宇文泰击鼓,伏兵骤起,奋勇冲杀。西魏骠骑大将军于谨等六军配合作战,左军赵贵交战不利,右军李弼领骑兵横击,将东魏军分割为二,宇文泰领军以少胜多大破高欢。高欢率残部东渡黄河逃走。宇文泰率军追到黄河边,斩俘八万人,宇文泰选留士卒两万余人,其余的放归乡里。作为偏军的高敖曹在得知高欢兵败以后,也从桓农撤围,退保洛阳。宇文泰经此一胜,兵精粮足,皆大欢喜。战后宇文泰命令全军将士每人在战场上种植柳树一株,以示庆贺,后升为柱国大将军。
西魏战后进军示意图
沙苑之战后不久,宇文泰趁胜派兵东进。宇文泰派遣冯翊王元季海为行台、开府独孤信率步骑二万向洛阳;洛州刺史李显趋荆州;贺拔胜、李弼东渡黄河围蒲阪。东魏的牙门将高子信打开城门投降,东魏将领薛崇礼弃城而走,贺拔胜等领兵追击,俘获了薛崇礼。宇文泰亲自率军东渡黄河,进军蒲阪,占领了河东之地(今山西省的西南部)。
这一场战役的胜利,不仅使得濒临灭亡的西魏绝处逢生,而且让关陇的军功勋贵集团登上了历史舞台。战后东魏不能再随意侵入关中,东西魏的主战场转为河东(山西)和河南,还对之后长达370年的历史产生了极大的影响,奠定了北周统一北方以及隋、唐王朝强盛的基础。