德祐元年(元至元十二年,1275年)四月,湖北制置副使高达以江陵降。作为当时宋军最善战的将领之一,高达因私怨长期被贾似道压制,郁郁不得志,降元之后却旋即被忽必烈任命为近似于副丞相的参知政事。人心向背,就是这么一点点累积起来的,直至嬗变。
高达既降,宋军名将所剩无几,只有李庭芝与夏贵等屈指可数之人。然而,夏贵远在淮西,李庭芝身在长江以北的扬州,作为南宋统治腹心的江南却无人可守。
宋廷此时想到了千里勤王的张世杰。
出身范阳的张世杰与刘整一样同为归正人,他少时曾跟随张柔从军,坐事归宋,曾先后在军中追随吕文德、高达等名帅,资历煊赫却仕途平平。
时为右丞相的陈宜中虽猜忌张世杰的归正人身份,一进京就撤换了后者的亲兵。但当此非常之时,国无良将,迫于形势的宋廷还是在短时间内将张世杰连升数级,至保康军承宣使,统率都督府诸军。
上任之后,张世杰不辱使命,趁元军战线过长兵力分散,且伯颜北上,连续收复了平江、常州、安吉、溧阳等江南重镇,与扬州的李庭芝所部遥相呼应。
张世杰此时酝酿着一个大计划:李庭芝自扬州出瓜洲,常州守将张彦自常州出镇江,他亲率水军直趋镇江一带的江域,“三路交进,同日用事”,不仅可以让支离破碎的宋军防线连为一片,且能重创元军于镇江至建康一线。
德祐元年(元至元十二年,1275年)七月初,当张世杰按约定率战船万余艘到达镇江焦山江域时,才发现其他两路宋军都未如约抵达。李庭芝倒是于六月底出兵了,遣姜才率军两万进攻扬州以南的扬子桥,欲打通至瓜州渡的入江之路。阿术接到告急军报后亲自来援,在张弘范的配合下,大败姜才于扬子桥,宋军死伤达一万八千余人。
张世杰只得孤军奋战。他与孙虎臣率战船万艘列阵焦山江域,每十船以铁索连成一舫,沉碇于江,横截江面,并规定“非有号令毋发碇”,决意孤注一掷,与元军决战于长江。
张世杰如此令人费解的排兵布阵,可能也事出有因,甚至是兵行险着。其一,宋军在前几次大战中均有临阵脱逃导致溃败的先例,此刻更是士气低迷,为避免重蹈覆辙,张世杰以铁索连船,“以示必死”,与破釜沉舟和背水一战并无二致;其二,宋军战船多为机动不便的海船,无风难以航行,既然在机动性上天然不如元朝水军,索性不如放弃机动性,无限强化宋军水师的体量优势。
但用兵兴一利必生一弊,偏偏张世杰“铁索阵”的致命破绽被元军迅速捕捉到了。
南宋水师布阵完成后,阿术登山眺望观察,见“舳舻连接,旌旗蔽江”,便定计火攻,“可烧而走也”。
七月初二,焦山大战启幕,宋元水军激战一上午,不分胜负。据《元史·阿术传》,阿术果断投入预备队,令张弘范船队自上游顺风而下,以正面冲击破坏宋军阵型;再派“强健善射者千人,载以巨舰,分两翼夹射”,以火箭射烧宋军战船,一时间火焰漫天。宋军战船因铁锁相连,闪避不便,“赴江死者万余人”。张世杰率后军突围,虽侥幸逃离战场,但被缴获战船达七百余艘。
行文至此,观者很容易产生这样的疑惑:张世杰难道就一点都没有汲取火烧赤壁的教训吗?但所谓庞统献连环计,曹军舰船在赤壁之战中以铁锁相连,这些都是《三国演义》的小说家言,并未出现在《三国志》这样的正史中,《三国志》中至多只有曹军“船舰首尾相接”这样的记录。更重要的是,《三国演义》写于元末明初,张世杰无可能预知到“火烧赤壁”的桥段。
焦山之败,使宋军丧失了最后一支能够阻挡元军直取临安的有生力量。《元史·世祖本纪》要言不烦:
宋人自是不复能军。