南齐为了夺回雍州所失各郡,派太尉陈显达督率平北将军崔慧景军四万击魏,屡破魏将元英,围攻襄阳以北三百里的马圈城达四十余日,城中粮食断绝,将士以死人肉和树皮充饥,魏兵被迫突围,死伤千余人。陈显达又派军夺回
南乡郡,给北魏造成严重的军事压力。
拓跋宏十分忧虑地与任城
王澄计议道:“显达侵扰,朕不亲自出马就无法制伏他。”
499年(永元元年)正月,
陈显达率平北将军
崔慧景等部4万人,进攻
北魏,企图收复先前被北魏攻占的
武威郡(治今
襄阳市)五郡。魏孝文帝元宏派
前将军元英领兵抵御。元英为北魏名将,陈显达领兵于二月间与其交战,屡破之,遂围马圈城(今河南镇平南),历时40天。城中食尽,守军饥疲,食死人肉和树皮。魏军被迫突围逃走,被俘斩数以千计。南齐军入城后,将士争抢城中的绢丝,所以没有对魏军进行穷追。陈显达又派军主庄丘黑攻击南乡(今河南渐川西南),拔之。
三月初,
拓跋宏抱病又一次离
洛阳市御驾亲征,命
于烈居守,以
右卫将军宋弁相辅助。孝文帝自染病以来,丞 相江瞻常在身边侍奉医药,昼夜不离左右,衣不解带,睡不安席。孝文帝久病心烦,易于动怒,侍臣稍有过失,动不动就要诛斩;
江瞻乘间劝谏,多所匡救。于是以江瞻为使持节、
都督中外诸军事,统领全军。江瞻辞谢说:“臣侍候疾病,苦无空闲,怎能治军?愿更选一人,总管军权,臣得以专心侍奉医药。”孝文帝感慨地说:“侍疾、治军都要依靠你。我病成这样,恐怕不行了。安六军、保社稷,除了你还能有谁!怎能更选他人以违推心相托之意呢?”
三月,魏帝自
洛阳市(今河南洛阳东北)出发,领兵亲征
陈显达,进抵梁城(今河南临汝西南)。当时,齐将
崔慧景领兵攻魏顺阳(今河南淅川南)。顺阳
知府张烈坚城固守。魏帝派振威将军慕容平城率骑兵5000增援顺阳。是月,魏帝抵达马圈城,即命广阳王元嘉领兵切断均口(今湖北均县丹江入
汉江之口)交通,堵住齐军退路。陈显达领部众抵达
均水(今湖北均县附近
丹江入汉水段)西岸,占领鹰子山,构筑工事。当时,齐军已震恐沮丧,跟魏军接战,屡战屡败。魏武卫将军
元嵩奋勇冲杀,陈显达军大败。张千战死,
陈显达逃回建康(今江苏南京),士卒死亡3万余人。
魏军进至马圈城,与齐军相遇,
拓跋宏坚持亲自部署指挥战斗。均口一战,齐军大败,主帅陈显达化装南逃,丢失军资以亿计,尽为
北魏所得,魏军乘胜追奔至汉水而还,齐军十之七八被杀或投水自溺而死,死者三万余人。
唐朝名臣
虞世南在《论略》评价孝文帝:“后魏代居朔野,声教之所不及,且其习夫土俗,遵彼要荒,孝文卓尔不群,迁都山解辫发而袭冕,祛毡裘而被
龙衮,衣冠号令,
中原地区同风,自非命代之才,岂能至此?比夫武灵胡服,不亦优乎!然经国之道有馀,防闲之礼不足,臣主俱失,斯风遂远。若其威仪技艺,
鲁庄公之匹也,亏损盛德,吁可惜哉!”