在东路,萧衍派冠军将军张惠绍救援钟离。张惠绍在邵阳洲一带遭到北魏平远将军刘思祖的拦截,张惠绍等十余名将领被擒。到了第二年春夏之交,淮河流域降雨增加,水位暴涨,攻打钟离的魏军无法驻扎,只好撤还寿阳。东路梁军侥幸摆脱了危局。在西路,萧衍派平西将军曹景宗、后将军王僧炳率兵三万救援义阳。元英获知梁军行踪后,派将军元逞等人在樊城阻击王僧炳的梁军前锋。两军交战,梁军大败。曹景宗听说前锋挫败,只在外线游弋,不敢靠近义阳。义阳城内,梁朝的司州刺史蔡道恭率领不满五千守城官兵,已经坚持了大半年时间,打退了魏军一次又一次的进攻。魏军死伤不计其数,元英开始打退堂鼓了。谁知,蔡道恭突然病逝。元英下令猛攻义阳。南梁守军弹尽粮绝,把所有希望都寄托在建康方面的援军身上了。这个援军自然不是曹景宗的部队,而是萧衍新派出的宁朔将军马仙琕。
马仙琕是南方名将,被世人看做三国时期的关羽、张飞。可惜的是,马仙琕谋略不足,一味贪功冒进。元英在义阳城东埋伏主力,再派小股军队出阵向马仙琕示弱。马仙琕以为魏军不堪一击,直扑元英。元英佯败,率部北退,引诱梁军钻入包围圈后忽然掉转马头,发出信号。只见漫山遍野的魏军同时杀出,向梁军涌来。马仙琕虽然拼死抵抗,无奈准备不足、军心涣散,大败而逃。内外交困的义阳守军见状,失去了抵抗的意志,开城投降。周边梁朝关隘的守军,闻讯纷纷弃地而逃。梁朝在淮河防线的西段完全崩溃,失去了所有现在河南地区的领土,不得不在湖北地区组织第二道防线。
义阳大捷,宣武帝元恪大喜过望,封元英为中山王,并在义阳设立郢州,与东面的寿阳呼应,在淮南地区形成一对钳子。淮河防线的重镇就只剩东面的钟离还在南梁控制之下了。这是504年的事情。一年后,本是裴叔业旧部、镇守汉中的夏侯道迁向北魏投降。北魏迈过秦岭,攻占了梁州十四郡。梁朝统治下的四川也岌岌可危了。