天监五年(公元506年),因为主帅萧宏的私自逃跑,致使梁军大败,而北魏大军在马头城往北运粮的举动让满朝以为北魏要罢兵了,只有萧衍清醒地意识到更大的进攻即将来临。淮河防线只剩重镇钟离,此时驻守此地的是昌义之,萧衍明白钟离的重要性,命昌义之完善钟离工事。

这年十月,不出萧衍所料,北魏大军在中山王元英和萧宝夤率领下开始围攻钟离,显然北魏对钟离势在必得。但不同于以往用兵南朝内部混乱北魏上下一心,这次在出征前,北魏内部就产生了分歧,北魏宣武帝原本想让邢峦领兵和元英一起参与这次进攻,但邢峦觉得钟离有淮水作为屏障,梁军又善于守城,就算拿下钟离也得付出惨重代价而且后续粮草供应都是问题,就算不考虑得失攻击其他地方也比死磕钟离有效。但宣武帝拒绝了邢峦的意见铁了心要拿下钟离,既然邢峦不肯作战,就启用萧宝夤

北魏大军对钟离展开围攻,萧衍这边也不可能坐以待毙,命令曹景宗都督诸军二十万援救钟离,萧衍的计划是曹景宗先屯驻道人洲,等待梁军各部集齐后一起开展进攻。但曹景宗想要自己拿下这个功劳,没有按照命令停顿,而是继续前进,结果路上突然遭遇暴风,许多士兵被刮到水中淹死,曹景宗无奈只好返回道人洲先驻扎下来。这场大风倒是拯救了曹景宗,不然他孤军深入必然会被击败从而破坏整个救援计划,此时的天时、人和似乎都在梁朝这边。

到了天监六年(公元507年)正月,北魏这边继续加大兵力,元英与杨大眼率数十万大军攻钟离,而钟离城中只有三千守军,攻破钟离城似乎易如反掌。但局面却出人意料,钟离城北面是淮水,北魏军只能在邵阳洲两岸架桥,元英据南岸攻城,杨大眼据北岸确保粮草安全,萧宝夤负责桥梁安全。钟离城堑水深,元英就派士兵用车运土想要填平钟离周边沟堑,然后用冲车冲击城墙,力图用车轮战轮番攻击拿下钟离。但昌义之率军顽强抵抗,城墙被撞坏的地方就用用泥土补修,使得北魏的冲车始终不能摧毁城墙。而且每次利用神射手的本领身先士卒击退北魏多次进攻。北魏军队昼夜苦攻,轮班上阵,双方每天交战数十次,但都攻不下钟离。战争就这样胶着到了当年二月,宣武帝这边见钟离始终拿不下就准备让元英撤军,但元英就是死活不愿意撤军,哪怕宣武帝多次下诏,元英都坚持继续攻城,就连宣武帝派人实地考察都觉得钟离城防坚固拿不下来,元英也始终坚持一定要继续打。

元英这边要继续打,萧衍肯定不能不陪着打,于是命令豫州刺史韦睿率兵从合肥去援救钟离,接受曹景宗的指挥。韦睿在收到命令后火速发兵,很快就与驻扎于道人洲的曹景宗会合,然后又乘夜以迅雷不及掩耳的速度抵达邵阳洲另一端,同时在冯道根的规划下,仅用了一个晚上的时间,就筑起一座营垒,与魏营相距仅百余步,元英看到后震惊不已,同时北魏军见梁朝援军装备精良,士气旺盛,又一夜这样鬼斧神工,气势上就输了一大截,而曹景宗又派遣军士潜水进入钟离告知援军到了,钟离城内军士知道援军来到的消息也是士气大振,所以从气势上来说显然北魏大军处于下风了。

但元英怎么可能就这样收手,他决定先消灭梁军援兵,先是杨大眼率领一万多骑兵前来交战,但韦睿这边把战车连接起来组成阵势,等杨大眼骑兵攻击之时用两千架强弩一起发射,北魏大军死伤惨重,杨大眼自己也受伤败走。不甘失败的元英又亲自率军前来进攻,但都被梁军击退。战争很多时候比拼的是后勤粮草,战争期间,梁军就派人到淮水北岸割运粮草,但都被杨大眼军抢掠夺走。曹景宗便派出千余人在北岸杨大眼城堡之南数里之处筑建堡垒并指派部将赵草据守此城,杨大眼派人前来进攻,都被击退。自此梁军确保粮草安全后,也切断了魏军的补给通道。

战局朝着利于梁军的方向发展,萧衍也筹划着给魏军致命一击,他命令曹景宗等人事先装备好高大的船舰,使其与北魏的桥一样高,准备等待合适的机会进行火攻。而这个时机很快就到了,当年三月淮水水位暴涨六七尺,反击的时候到了。韦睿派水军驾驶大船攻击水洲上的魏军,然后又用小船装满干草浇上油,用火攻烧毁了北魏的两座桥,同时梁军士兵展开攻击,北魏军面对这个架势自然是大溃败,淹死的被杀得不计其数,而元英杨大眼也只能仓皇而逃,梁军士气进一步高涨奋勇追击杀敌,北魏数十万大军灰飞烟灭,梁军取得了最后的胜利。

钟离保卫战以梁朝完胜告终。萧衍取得了刘裕北伐之后南朝最辉煌的胜利,也挽救了此前岌岌可危的形势。相反北魏这边在损失惨重后严重影响了国力,加上内部问题重重,自此开始走下坡路。面对这样一个大好局面,萧衍又作何打算呢。