敖曹率军去截他的后路,自率主力回军蒲坂,打算趁虚而入拿下长安。
宇文泰发觉不妙,迅速撤回关中。此时高欢已经渡过黄河杀至华州(陕西渭南大荔县)。宇文泰率领不足万人的轻骑渡过渭河在沙苑(大荔县南)占据险要,截住高欢。
高欢领兵二十万,探知宇文泰只有万把军队便起了轻敌之心。
手下告诫他,这里地形复杂,河道纵横,遍地芦苇,不利于我们的大兵团展开。宇文泰很可能在芦苇荡中设有埋伏。我们不如在这里跟他们对峙,拖住宇文泰,然后派一支奇兵奔袭长安,直捣宇文泰的老巢,让他不战自溃。
高欢觉得用不着那么麻烦,明日一战就能解决问题。如果怕他们在芦苇荡里埋伏军队,我们在开战前一把火把芦苇荡烧了不就完了?
侯景说,千万不能纵火。如果把宇文泰烧得面目全非,如何让人相信宇文泰已落我手?不如生擒宇文泰,拿他示众。
高欢也觉得以众击寡,二十个打一个,闭着眼打都能赢。于是决定堂堂正正地跟宇文泰决战。
次日交锋,高欢主动发起进攻。东魏士兵见对方让少,立功心切,争先恐后向西魏的阵营冲去。复杂的地形让东魏军队不成队形。
宇文泰下令击鼓。事先埋伏在芦苇荡的西魏伏兵听到鼓声立即横向杀出,把东魏军队截成两端。宇文泰下令全线进攻,合围东魏军队。
东魏军队四面受攻,陷入混乱。高欢急令部队后撤,整军再战。但正处在混战当中的东魏军队难以脱身,在后撤过程中遭到西魏军队穷追猛砍形成溃败。后方阵营的西魏军队以为大势已去逃之夭夭。
高欢还在试图挽回败局。但他的手下劝他赶紧跑吧,见高欢不动,用鞭子抽打高欢的马。高欢只得驰离战场。
沙苑一战,高欢损失八万兵马,外带十八万套盔甲兵器。也就是说东魏军丢盔卸甲扔掉兵器才逃出一命。跑得慢的不是被杀就是被俘虏。
宇文泰抓到七万俘虏,在俘虏里面挑出最强壮的两万人补充进自家的军队,其他老弱病残放回东魏。东魏缺粮,养不起那么多军队。再者说,兵贵精不贵多。
宇文泰乘胜反攻。贺拔胜率一路军追击败兵,渡过黄河,攻克蒲阪,一直打到汾州(山西吕梁汾阳市)、绛州(山西运城新绛县)。宇文泰自率一路军杀回中原,占领了洛阳。周边城池纷纷向西魏投降。东魏的颍州(河南许昌长葛县)、襄州(河南南阳唐河县西南)、梁州(河南开封)、广州(河南平顶山鲁山县)先后归了西魏。
东魏逐渐缓过劲来后开始组织反攻。之后东西两魏主要围绕着洛阳展开激战。
宇文泰虽然在沙苑决战取得大胜,但以寡敌众的态势并没能扭转,在东魏大军的压迫下不得不把刚到嘴的肥肉又一块块吐回去。
538年,东魏的高敖曹和侯景作为先锋杀至洛阳,后面跟着高