现在,宋朝就只剩下最后一个据点——崖山。张弘范决定速战速决。他们在甲子门抓到一个宋兵,严刑拷打之后,逼问出崖山的方位形势,于是立刻向崖山进发。
崖山也接到了情报,张世杰与谋士们商量对策。谋士建议,绝对不能让出海的要塞港口被元军占领。张世杰暗忖:久处海中,军心不免渐渐离散,如果这次不能一决胜负,即使是突围出港,又能到什么地方去呢?于是他下定决心,要与元军死拼。他说:“这几年我们在海上漂泊,要到哪一天才是个头呢?如今张弘范既然要来,我们就打一场硬仗,定出个胜负吧!”于是,他把岸上的行宫、一千多间兵房全部放火烧光,军队全数移到海上,并在沿海各口岸采办了大量粮食。
他用铁索把舟船连锁在一起,又在四周筑起楼棚,就像是一座人工造成的小浮岛。最后,他请皇帝跟朝廷搬到中间的一只御舟上,皇帝带着阿旺也上了船,阿旺最近寝食难安,瘦了好多,也掉了不少毛。他紧紧地把头埋在皇帝的脚边,等待命运的审判。
不久,崖海大战开始了。张世杰的舰队有船一千多艘,而且多是大型海船,官民将士共有二十余万人,许多将领身经百战,士兵们背水一战,士气极高。张弘范一看对方是连环战船,便下令士兵们以舟载干草,再浇上膏油,顺风纵火攻过去。而张世杰早已作了准备,他用厚厚的泥浆涂在船上,不容易着火,并在船上安排好撞竿,当元军的火种船一来,便用撞竿撞击火船。这种撞竿非常粗大,即使不能撞翻元人的船,至少也能顶住,不使它接近宋军的战舰。最后,元军的火种船自己燃烧起来,沉下海去。
火攻失败以后,张弘范便暂停了攻势。听说投降的部队里有一个张世杰的外甥,于是他就派此人去说降。这个外甥到舅父那儿求了三次,张世杰不但不降,反而开始跟外甥讲起历代忠臣义士的故事。张弘范见此路不通,认为是说降者人微言轻,不够分量。
又想叫文天祥写信劝张世杰降元,于是就派了一个姓李的元帅去见文天祥。得知李元帅的来意后,文天祥气愤之极,反问道:“我不能保卫自己的父母,却教唆别人也背叛父母,你说这可能吗?”李元帅被反问得哑口无言,不知说什么好,可又不好回去向张弘范交代,就软磨硬泡地叫文天祥写点什么,以便自己带回去交差。“好吧!我写个字条,张世杰看了,能不能让他投降我不管。”
来人急忙回到前线,将文天祥的字条呈送给张弘范,张弘范打开字条,原来上面写的是文天祥经过零丁洋时所作的一首诗:
辛苦遭逢起一经,
干戈寥落四周星。
山河破碎风飘絮,
身世浮沉雨打萍。
惶恐滩头说惶恐,
零丁洋里叹零丁。
人生自古谁无死,
留取丹心照汗青。
张弘范读到“人生自古谁无死,留取丹心照汗青”时非常激动,他连连赞道:“好人,好诗!”他把文天祥的诗搁下来,继续跟张世杰对抗。
崖山的两头各被张弘范、李恒围住,宋军被困在海上。张弘范派人大声喊话:“你们的陈丞相已经逃走,文丞相又被俘获,你们还指望什么呢?赶快投降吧!”张世杰不肯投降,双方相持了半个多月。渐渐地,水上行宫出现了非常严重的问题,因为他们被堵死在海峡之中,水源断绝,宋军没有淡水,吃了十多天干粮,渴得不得了,只好喝海水。喝了海水后士兵们呕吐不止,疲乏无力,战斗力锐减。
虽然如此,崖山方面依然坚持着,不肯投降。僵持了23天以后,张弘范不愿意再拖了,在一个暴雨天,他下了总攻击令,南面张弘范的部队暂时按兵不动,李恒从北面进攻。李恒大军,利用火药进攻,又用强弩机发箭,一时炮火如雷轰,羽箭像雨落,张世杰在烟雾弥漫中,挡住由北面过来的李恒水师,彼此厮杀了一阵。
见南面的张弘范没有什么动静,张世杰就全力应付北边的李恒水军。杀到中午的时候,北边算是挡住了。此时正值涨潮时候,突然船中传出乐声,张世杰以为他们举行宴会,谁知道张弘范的奏乐就是进军号。南面的元军一听乐音,立刻扑向张世杰的大营。船舰冲过来,元兵跳上宋军的船只,展开肉搏战。宋军南北受敌,士兵又身心疲惫,无力战斗,全线溃败。宋军将领翟国秀、凌震等解甲降元,张世杰、苏刘义从黎明坚持到黄昏,自知无望,斩断船索,率十六只战船拥着杨太妃突围出去。
赵昺的御船由于过于庞大,被外围的船只阻隔在中间,无法突围。不能眼看着靖康之难重演,也不能使皇帝落得和先皇一样的命运,陆秀夫决定和皇帝一起殉难。他首先叫妻子儿女跳海自尽,又对小皇帝说:“国家到了这个地步,该是陛下殉国的时候了。”小皇帝扑进他的怀里大哭,阿旺也围着他们发出呜呜呜的哀鸣,他们君臣相拥,陆秀夫亦痛哭失声,接着他抱起小皇帝,转身跳入狂风巨浪之中。阿旺一个孤零零地漂着,最后遇到了元军上船搜索,被元军抓走了。
那一天,跟着投海自杀的宫眷、文武官员以及士兵非常之多。夜里,张世杰率十六只义船奔逃到崖山,他们去见杨太后,要保护她往占城避难。杨太后流着泪说:“我之所以漂泊万里,流落至此,完全为了赵氏的一点骨血,现在皇帝已死,我也没有希望了。”
张世杰等人劝说不住,便退了出去,他们一走,杨太后立刻投海自杀了。张世杰将杨太妃葬于海滨后,已经完全丧失了信心和希望。当他移师到平漳港口一带时,遇到了强烈的飓风。将士劝他弃舟上陆,以避风险,张世杰叹息道:“我为宋朝仁至义尽了,一君身亡,复立一君,现在国已无君。我不在崖山殉难,只为元军退后,再立国君,以图恢复宋朝社稷。如今既然遇上飓风,恐怕是天意吧!”
部下们纷纷弃船而去,张世杰动也不动,结果风暴越来越大,最后船被风浪打沉。船翻之后,张世杰溺死在海中,后来有人打捞他的尸体,葬在附近的螺岛上,并将螺岛改名为海陵岛,就是纪念张世杰以海为其陵墓的意思。数天之后,漂浮在海上的尸体多达十几万,惨不忍睹。陆秀夫的遗体浮出海面时,被当地人收葬。
元军在清理战场的时候,发现一具身穿黄衣的儿童尸体,身上带有金玺,上书“诏书之宝”四字,元军将金玺送交张弘范,经确认正是赵昺随身携带的玉玺。张弘范大喜,立即派人去寻找赵昺尸体,但已经被海浪卷走,不知所终。张弘范自以为对元朝立下不世之功,十分得意,派人在崖山北面石壁上刻了“镇国大将军张弘范灭宋于此”十二个字,以便“流芳千古”。
可是事与愿违,他灭宋的罪行受到中原和南方人民的唾骂。明朝时候,有人把这块石刻削去,改镌“宋丞相陆秀夫死于此”九个字,纪念陆秀夫这位殉节的忠臣。