当年三月,北魏大军包围了悬瓠,开始昼夜连续攻城。魏军制作楼车,临城发射弓矢,矢下如雨。并以大铁钩置于冲车之端破坏城墙楼堞。
左军行参军陈宪不畏强敌,英勇抵抗,命令城中百姓头上顶着门板在井中取水和泥,亲自率领军民加固女墙,在外面又搭设了一道木栅加固城防。
战争就是如此,你有盾,我就有矛。魏军用虾蟆车填平了护城河,砍坏了木栅,蚂蚁般登上了城头。陈宪以忠义督率宋军将士苦战,肉搏反击,蹈白刃而足不旋踵,魏军大败,“积尸与城等。”但是,魏军志在必得,再一次发动了疯狂的进攻,北魏军踏尸上城,与宋军短兵相接。宋军死战不退,以一当百,人人拼命,杀伤魏军数以万计,但城中死者也过半。
战斗在不停地进行,宋军将士血战克敌,发扬了无畏的精神,在宋军将士的英勇抗击之下,强大的魏军被打残。拓跋焘无奈之下,派遣永昌王拓跋仁率一万多步骑兵,驱掠六郡民众北屯汝阳(今河南商水西北)。
宋国徐州刺史、武陵王刘骏镇守彭城,奉命派遣骑兵带三日军粮偷袭魏军。偷袭这活儿必须短平快,乌龟爬的步兵干不了,必须是来去如风的骑兵。刘骏下令调集宋军的全部骑兵共一千五百人,分成五军,派遣参军刘泰之率安北骑兵行参军桓谦之、田曹行参军臧肇之、集曹行参军尹定、武陵左常侍杜幼文、殿中将军程天祚等人分头率领,秘密进发,直趋汝阳。
魏军判断宋之救兵只会自寿阳来,因此布置了打援部队,却未防备彭城方面,导致这里出现了战略真空。刘泰之等人隐秘进军,昼伏夜行,秘密到达攻击阵地,在黎明时期突袭魏军。魏军被打了一个措手不及,死伤惨重,被杀三千余人,宋军骑兵迅速扩大战果,烧掉魏军的辎重,魏军四散奔逃,被魏军所驱掠的民众也得以逃走。
战斗进行了很长时间,魏军终于搞清了状况,宋国刘泰之兵少又无后继部队,根本不值得害怕,于是聚集残兵败将进行反攻。
战鼓再一次擂响,魏军铺天盖地而来。垣谦之害怕了,率领军队逃了,这就引起宋军惊乱,全都扔下武器逃了。魏军铁骑纵横,斩杀了刘泰之,俘获了程天祚,臧肇之一不留神溺水而死,大批宋军将士被杀。这一场战斗,宋军先胜后败,只逃回九百余人和四百匹马。
宋军的救援失败,但是,宋国承受不了悬瓠的丢失。悬瓠已经成了魏军的绞肉机,宋文帝刘义隆必须要让这个绞肉机正常运转。于是,宋文帝刘义隆迅速采取的救援措施,派遣南平内史臧质至寿阳,与安蛮司马刘康祖共同率兵救援悬瓠。
宋国不能丢失悬瓠,魏国老板拓跋焘也是志在必得,命殿中尚书任城公拓跋乞地真率兵阻击宋军援兵。面对强敌,臧质等人无所畏惧,率宋军猛烈进攻,宋军奋勇攻击,击斩魏军大将拓跋乞地真,击溃了魏军。
扫荡了魏军的阻击部队,宋军士气高涨,迅速向孤城悬瓠挺进,敌人援兵的到来,严重打击了魏军的士气。
在家门口作战,保护自己的人民,宋军的同仇敌忾是不必说了。魏军攻悬瓠四十余日,黑天白日的不停战斗,顿兵于坚城之下,死伤惨重,军队已经疲惫到极点,已经没有再战之力。拓跋焘望城兴叹,遂于四月间撤围,远离了这座伤心的城市。
魏**队打了败仗,折损了大批的精锐,但却一无所得,整个一个赔了夫人又折兵。拓跋焘一口气咽不下去,打算找回一点儿面子,派人送信给宋文帝说:“过去,盖吴造反,你就让人诱惑他,送给他很多物资。大丈夫为什么不自己来,而引诱我边民?我今日来,就是为报那一日仇恨的。如果你还想刘家的祖坟不被刨了,就应该割让长江以北,在江南老实呆着,我就答应让你安居江南。如果不答应,来年秋天我就夺取扬州。机会到了,我绝对饶不了你。你往日北通蠕蠕,西结赫连、沮渠、吐谷浑,东连冯弘、高句丽。凡此数国,我皆灭之。以此而观,你岂能独立!”
不知道宋文帝是不是有心情搭理他,估计是心情很好,没心情惹自己生气。拓跋焘的台阶没找着,只好硬着头皮往下跳,无奈之下下令撤回军队,返回了平城。