梁大同三年(公元537年),西魏丞相宇文泰统率军队讨代东魏。闰九月,东魏丞相高欢率领二十万军队,从壶口出发,抵达蒲津。又在蒲津渡过黄河,然后绕过冯翊城,渡过洛水,在许原的西部扎营。
宇文泰抵达渭河南岸,征集各州的兵马,都没有来。他想要进攻高欢,各将领都认为兵力悬殊太大,无法抵挡对方,请求等高欢继续西进,再观察形势。宇文泰说:“高欢如果抵达长安,人心就会受扰。现在趁他刚刚远道而来,正可以攻击他。”立刻下令在渭河建造浮桥,命令将士准备三天的干粮,轻装骑马渡过渭河,辎重则从渭河南岸沿着渭河往西运送。
十月初一,宇文泰到达沙苑,距离东魏的军队只有六十里。宇文泰派须昌县公达奚武侦察高欢的军情,达奚武带着三名骑兵,穿上与高欢的士兵一样的衣服。太阳下山后,他们在距离敌营几百步的地方下马,偷偷听到对方的口令,然后上马穿越军营,好像是夜间警戒的士兵,发现有不守军规的,还往往上去鞭打,详细了解敌情之后返回。
高欢听说宇文泰已经到达,带领兵马准备交战。西魏侦察兵报告说高欢的部队就要到了,宇文泰召集众将领商议。开府仪同三司李弼说:“敌众我寡,不能在平地布阵,从这里往东十里,有一个地方叫渭曲,可以先占据那里,等待他们。”宇文泰听从了,在渭曲背靠河水,东西方向布阵,李弼率领右边的军阵,赵贵率领左边的军阵,命令将士们把戈矛放平,在芦苇丛里埋伏,约定听到鼓声后出动。快到傍晚的时候,东魏军到了渭曲,都督太安人斛律羌举说:“宇文黑獭把全部军队都带来了,准备决一死战。何况渭曲芦苇很深,泥土淤积,没有可以用力的地方,不如暂且慢慢地和他们相持,秘密分出精锐部队,直接突袭长安。他们的巢穴倾覆,那么不用作战也能擒获宇文黑獭。”高欢说:“放火焚烧,怎么样?”大将侯景说:“应该活捉宇文黑獭,把他示众。如果混在众人中被烧死,谁会相信他真的死了?”将军彭乐气势强盛,请求出战,说:“我众敌寡,一百个人捉一个人,还担心不能攻克吗?”高欢听从了。
东魏兵看见西魏兵少,都争先恐后地冲上去攻击,混乱得不成队列。将要交战,宇文泰敲响战鼓,士兵们奋起,前锋于谨等人的六支部队与他们汇合作战,李弼率领铁甲骑兵从侧面进攻。东魏部队从中间被分成两部分,于是大败。
高欢准备收兵再战,派张华原带着名单到各个军营点名,没有人回答,回来报告高欢说:“大家都跑了,军营全都空了!”高欢还不肯走,阜城侯斛律金劝他说:“大家已经人心离散,不能再用,我们应当迅速赶去河东。”高欢仍然坐在马鞍上不动,斛律金用鞭子打他的马,于是离开。夜里渡河,船离岸边有点远,高欢骑着骆驼上船,才得以渡过黄河。
高欢损失了八万士兵,十八万副铠甲兵器。宇文泰追击高欢,一直追到黄河边,他在溃散的东魏士兵里挑选出二万多人留下,剩下的都放回去了。
都督李穆对宇文泰说:“高欢吓破胆了,我们迅速追击,一定可以擒获他。”宇文泰不听,带领军队返回渭河南岸。受征调的士兵一到,就让他们在交战的地方每人种一棵柳树,以表彰胜利。