伯颜虽态度强硬,但实则并未得到继续进军的诏令。忽必烈此时尚未彻底关上谈判的大门,一面于正月派出廉希贤和严忠范两位重臣领衔赴宋谈判;一面又令伯颜在池州按兵不动,等待和谈结果。
《元史·阿术传》记载伯颜问计于阿术:“有诏令我军驻守,何如?”阿术坚决要求进军:“若释似道而不击,恐已降州郡今夏难守,且宋无信,方遣使请和,而又射我军船,执我逻骑。今日惟当进兵,事若有失,罪归于我。”
二月十六日,元军进抵丁家洲(今安徽铜陵东北),与驻屯于此的宋军对峙,筹备决战。
宋军兵分三路,孙虎臣率精兵七万列阵于丁家洲江岸,夏贵率战舰两千五百艘横亘江中,贾似道亲率后军驻鲁港(今安徽芜湖西南)。
贾似道出京时有军十三万,至芜湖后夏贵率军数万来会,总计十五六万人,对外号称三十万;伯颜出师时统兵二十万,占领沿江诸州时一路留兵戍守,尤其是阿里海牙领军四万镇守鄂州,在丁家洲前线的元军可能尚不到十五万。
再加上丁家洲是贾似道亲自选定的战场,南宋水陆两军占据地利优势,这又进一步加大了元军的兵力劣势。伯颜观宋军布阵,度“众寡不敌,宜以计胜”,令军中作大木筏数十张,上置柴草,扬言将以此火攻南宋水师,迫宋军昼夜戒备而师老兵疲。
二月二十一日,伯颜自忖时机成熟,便对宋军发动总攻。元军的战术仍是最经典的水陆协同三面夹击水战:阿术率水军正面冲击宋军战舰,伯颜亲领步骑夹岸而进,配合水军以弩炮攻击南宋水师。
伯颜以巨炮先声夺人,“两岸树炮,击其中坚”,据说“炮声震百里。宋军阵动”,击沉南宋巨舰多艘;阿术水军虽舰船个头不如南宋巨舰,但灵活锋锐,“舳舻相荡,乍分乍合”,阿术勇冠三军,挺身登舟,亲自掌舵,突入敌阵,诸军继进。
宋军这边也有勇将姜才,但孙虎臣开战伊始见战局不利,便弃阵先退,在“步师遁”的呼号声中,宋军大溃。溃败是雪崩式的,夏贵见前军溃散,为求自保,不战而退,驾快船东走,经过贾似道座舰时竟也没停船会合,只是大呼一句“彼众我寡,势不支矣”,便不管不顾地走了。贾似道闻之仓皇失措,遽然鸣金收军,进一步加深了宋军的溃败程度。
据《元史·伯颜传》,“伯颜命步骑左右掎之,追杀百五十余里,溺死无算,得船二千余艘”,就连贾似道的都督府官印也落入追兵手中。
在丁家洲,南宋丢掉了最后一支可以与元军对峙的主力军团。
当夜,惊魂未定的贾似道一口气退到珠金沙(今安徽繁昌县西三十五里凤凰矶北麓),方才稳住阵脚,召夏贵与孙虎臣前来议事。孙虎臣“抚膺而泣”:“吾兵无一人用命也”。这半是推诿率先败退之过,但也半是实情。据《宋史·贾似道传》,夏贵闻言竟在一旁“微笑”说:“吾尝血战当之矣。”但不战而退的他真的比孙虎臣更强吗?
夏贵如此大言不惭,甚至不无当众挑衅的意思,固然是自恃军中资历更深,看不上因依附贾似道而青云直上的孙虎臣,但更让后世深思的是,曾不可一世的贾似道在夏贵这样的南宋高级将领面前,其威权正冰消雪融般逐渐垮塌。很快,贾似道也将真正体会到“吾兵无一人用命也”。
贾似道果然也没与夏贵计较,反而问他:“计将安出?”夏贵语带轻慢地说:“诸军已胆落,吾何以战?公惟入扬州,招溃兵,迎驾海上,吾特以死守淮西尔。”说完,就扬长而去,乘船回庐州了。
贾似道别无他法,只得依夏贵计而行,与孙虎臣一起“以单舸奔扬州”。途中,贾似道见败兵蔽江而下,试图归拢溃兵,便派人登岸扬旗招之,不仅没有任何溃兵响应,甚至还遭到了胆大者的谩骂。
这也可见,贾似道的一切光环与荣耀,都在丁家洲之败后轰然崩塌。有人作打油诗,极尽嘲讽之能事:
丁家洲上一声锣,惊走当年贾八哥。寄语满朝谀佞者,周公今变作周婆。
多年后,文天祥在诗中指斥贾似道丁家洲(鲁港)之败时,似乎在情感上仍然无法接受,鲁港临阵脱逃的丧师者就是当年那个在鄂州苦战却敌的儒帅:
己未鄂渚之战,何勇也;鲁港之遁,何哀也!
贾似道依靠鄂州之战所获得的那些或真或假的荣耀,都被精于权谋的他转化为十六年的滔天权势。但丁家洲之败又让贾似道半是鞠躬尽瘁、老成谋国,半是阴谋权斗、党同伐异的权势,一朝之间丧失殆尽。
随贾似道声望而流逝的还有南宋的国运。《元史·伯颜传》中说,丁家洲一败,南宋“江东诸郡皆下。淮西滁州诸郡亦相继降”。
当然也有忠义之士。收到丁家洲败讯后,与贾似道在芜湖见过面的沿江制置使汪立信长叹:“吾今日犹得死于宋土也”,他置酒召左右诀别,夜半起步庭中,慷慨悲歌,握拳拍案,失声痛哭,三日后自杀殉国。伯颜听说汪立信死讯后,也叹息说:“宋有是人,有是言哉!”
更悲壮的是前左丞相江万里一家。《宋史·江万里传》记载,江万里辞官后退隐饶州,饶州城破之际,他对门人说:“大势不可支,余虽不在位,当与国为存亡。”言罢便投水自尽于宅中水池,享年七十八岁。其左右和儿子十七口也相继从容赴水,“积尸如叠”。