东魏天平三年(南梁大同二年,西魏大统二年,公元536年)十二月丁丑日(十一日),在和南梁罢兵言和后,高欢正式发兵进攻宇文泰。此次行动高欢兵分三路,一路是他自己率领的大军向蒲坂出发,另一路是大都督窦泰前往进攻潼关,另一路则是高敖曹领兵前往上洛。
东魏天平四年(南梁大同三年,西魏大统三年,公元537年)正月,高欢的主力部队已经进抵蒲坂,高欢随即下令驻军在此并建造了三座浮桥,准备渡过黄河。此时的宇文泰则是把部队驻扎在广阳,考虑到高欢兵力数倍于宇文泰,加之西魏刚刚经历过大饥荒,胜利的天平似乎已经倒向了高欢。
强敌来袭,宇文泰忙召集手下诸将进行军事会议。宇文泰认为,高欢主力虽然就在眼前并准备过河,但他只不过是起到牵制作用,真正会发起进攻的是窦泰所部。因此宇文泰准备先进攻已呈现骄兵态势的窦泰部,并坚信只要消灭了窦泰,高欢就会不战而撤逃。但宇文泰手下诸将却认为舍近求远一旦出现失误必然会后悔莫及,提议分兵抵御东魏的进攻。可宇文泰还是坚持己见,并得到了苏绰与达奚武的支持。
庚戌日(十四日),宇文泰暂时返回长安再次询问众人意见,结果还是不能达成一致。宇文泰于是先不提自己的计谋,而是找到担任直事郎中的侄子宇文深,询问他有何退敌之策。宇文深认为如果主攻高欢,对方在蒲坂坚守不出,窦泰势必前来救援,到时就会出现腹背受敌的不利局面。与其这样不如选出一支轻装的精锐部队悄悄地从小关出去,与窦泰进行决战,宇文深坚信狡猾的高欢必然不会立即救援,这样只要迅速击败窦泰,再对付高欢就不是什么难事了。宇文泰听了宇文深的计策后很是高兴,终于下定决心先攻窦泰。
之后宇文泰对外扬言将舍弃关中、退守陇右,以此来迷惑东魏军。辛亥日(十五日)宇文泰自长安悄悄率军东出,于癸丑日(十七日)早晨到达小关。窦泰面对突然杀到的西魏军完全没有准备,惊惶失措之下急忙自风陵南渡迎击。宇文泰则是出马牧泽,派出军队袭击窦泰,窦泰遭遇大败,走投无路之下选择了自杀,所部被俘多达万余人。高欢虽然得到了窦泰被袭击的消息,但因为黄河上的冰太薄,无法赶去救援。于是只好下令拆除浮桥撤退,并命令薛孤延担任全军后卫。面对西魏的追兵,薛孤延陷入苦战,一天之内竟然砍坏了十五把战刀,最终才确保高欢部顺利撤退。
至于高欢的另一路人马,高敖曹所部此时从商山边战边进,一路所向无敌。眼见上洛城被高敖曹拿下只是时间问题,于是城中之人泉岳、泉猛略、杜窋等人准备作为高敖曹的内应助他拿下上洛。洛州刺史泉企得知这一情况后,杀了泉岳和泉猛略,杜窋则是逃跑后归附了高敖曹,高敖曹以他为向导攻打上洛。攻城之时高敖曹中了流箭,射穿身体的有三支,高敖曹一度昏死过去。但当他再次醒来之时,高敖曹又立马又去巡城,甚至都没穿盔甲。此举让东魏军士气大振,在经过十几天苦战后终于拿下了上洛城。
原本高敖曹准备乘胜追击拿下蓝田县,但此时窦泰兵败身亡,高欢于是让人告知高敖曹让他迅速撤退,甚至表示让他丢下部众孤身返回。但高敖曹不忍心丢下大家独自逃跑,于是决定带领手下兄弟一起回去。经过奋力拼杀,高敖曹终于带着全部人马回到了东魏。
虽然折损了窦泰,高敖曹也身负重伤,但高欢并没有因为小关之战的失利伤筋动骨。一场新的大战役也正在酝酿之中,宇文泰又该如何面对呢?