德祐二年(1276年)正月,益王赵昰与广王赵昺在专人护卫下,历尽艰险经由婺州亡命温州。礼部侍郎陆秀夫听说二王出朝,也追随而去,终于在到温州前追上了二王。闰三月,陆秀夫与此前私自逃到温州的前宰相陈宜中接上了头。他们得知张世杰因不满朝廷不战而降,率部东至定海,便与他联系,张世杰立即航海南下会合。三人决定建立都元帅府,以益王为天下兵马都元帅,广王为副元帅。恰巧朝廷所派两名宦官带着八名士兵来温州召二王回朝降元,陈宜中他们将来者悉数沉入江中,随即将元帅府迁往福州。
五月一日,陈宜中等拥立益王为帝,此即宋端宗;改元景炎,尊杨淑妃为太后,临朝同听政。封赵昺为卫王。以陈宜中为左相兼都督,右相虚位以待李庭芝,张世杰为枢密副使,陆秀夫为签书枢密院事。流亡小朝廷建立的消息,给正在艰苦抗元的爱国将士以极大鼓舞。文天祥甚至以为,陈宜中与张世杰“方以李、郭之事为己任”,实在期望过高,他们怎能与李光弼与郭子仪相比。
陈宜中虽不敢明言投降,但心思根本不在抗元上,与陆秀夫略有政见不合,就指使言官弹劾。张世杰目光欠远大,一味主张南逃,只把福建与广东作为小朝廷的落脚地,他部署的收复江西、浙南失地以屏卫闽广的计划不久就成为泡影。但他是主兵的实力派,陈宜中不过表面上出头,大政都专制于他。
文天祥到达行朝,任枢密使与同都督诸路军马,主张积极北上,开府永嘉(今浙江温州)。而张世杰则坚持开府广州,为小朝廷南逃作准备。不久因广州降元,张世杰这才让文天祥开府南剑州(今福建南平),见其一呼百应,唯恐影响在己之上,就借端宗之命,命他将督府远移到汀州(今福建长汀),还百般阻挠他入朝,心胸实在不够大。
陆路元军挥师从浙入闽,水师也从海上向南进逼。十一月中旬,端宗小朝廷只得再次登舟南逃,刚出海口,就与元军水师相遇,但当时弥天大雾帮助行朝船队躲过了一劫。船队南下泉州,这里是阿拉伯商人蒲寿庚的势力范围。史称蒲寿庚提举泉州市舶,“擅蕃舶利者三十年”。
这时,蒲寿庚正在宋、元之间见风使舵。他实际上不愿为行朝提供海舶,表面上出城迎接,请行朝“驻跸”泉州。张世杰不同意,因为这有悖他南下远遁的既定方针。等蒲寿庚回到城内以后,张世杰因船只缺乏,强征了泉州港里蒲氏的船只,籍没其财产。蒲寿庚一怒之下,纠集地方势力,以武力将端宗船队逐出泉州港,次月就以城降元。
端宗的海上行朝从泉州经潮州到达惠州,仍感到不安全,在景炎二年四月到达官富场(今香港九龙南),决定在这里立足,开始营建行宫。因元军追逼而来,十一月,行朝转移秀山(今广东东莞虎门)。但元军随即再下广州,离秀山近在咫尺,行朝只得再度入海,在香山岛(今广东中山)水面遭到元军水师袭击。张世杰部被俘将士颇多,陈宜中率领的数千人与八百艘战舰遇飓风溺死,宜中仅以身免。
陈宜中对这种流亡抗元已彻底灰心丧气,提议行朝移到占城(今越南中南部)去,并借口预作准备就逃之夭夭。国难当头,他已是第二次脱逃了,这是这位“宝祐六君子”领袖留在历史上的最后表现。
十二月,张世杰保护行朝船队到井澳(今广东中山南海中),遇上了飓风,船只倾覆,将士溺死,损失达十之四五,端宗也因惊悸而成疾。次年开春,小朝廷走投无路,大臣们也决定前往占城,但最后没有成功,只得暂在碙洲(今雷州半岛东硇洲岛)驻泊。
四月,端宗病死,群臣都打算散伙,陆秀夫拿出他代拟的《景炎皇帝遗诏》,宣布遗诏命卫王赵昺继承帝位,他正色道:“古人有以一旅成就中兴大业的,如今百官具备,士卒数万,难道不能立国吗?”众人感奋,立赵昺为帝,是为帝昺,改元祥兴。杨太后继续垂帘听政,张世杰任枢密使,陆秀夫任左相,他还每天亲自书写《大学章句》,为年仅八岁的帝昺讲课。
雷州(治今广东海康)的辖区大体相当于今天的雷州半岛,是碙洲的陆上屏障,对行朝的安全至关重要。五六月间,张世杰遣将与元军展开了雷州争夺战,但最终失败。行朝不得不转移到珠江口海中的崖山(今广东新会南海中),这也是张世杰的决定。
崖山与其西的汤瓶山对峙如门,阔仅里许,故称崖门,门内形成天然避风港,在他看来,进可乘潮而战,退可据险而守,完全可以建设成一个根据地。于是,一上崖山,他就命兵士造行宫三十间,建军屋三千间,作长期据守的打算。
元军下定斩草除根的决心,对南宋小朝廷紧追不舍。祥兴二年(1279年)正月,元朝蒙古汉军都元帅张弘范从潮阳(今属广东)由海路到达崖山,包围了张世杰的部队。几天后,副帅、江西行省参知政事李恒也从广州率战舰一百二十艘入海前来会合。
张弘范包围张世杰的次日,恰是元宵,在双方战舰云集的海面上,当地居民依旧举行了每年一度的海上元夕竞渡,喧阗的鼓乐,与密布的战云形成强烈反差。国家兴亡,生活依旧,老百姓该做什么的还是做什么。
这时,包括官军与民兵,宋军大约还有二十万左右,战舰至少近千艘。而张弘范所率元军是水陆共二万,加上李恒的部队,总数估计不会超过三万,战舰大约四百余艘。从崖山之战的绝对兵力对比来看,宋军并不处于劣势。
但张世杰其人,虽是宿将,却不知兵,这时的心态也有点失常,不是做好打得赢就打,打不赢就走的两手准备,而是孤注一掷,打算与元军一决胜负。当时有人建议他先据海口说:“幸而胜,国家之福;不胜,还可西走。”他不耐烦地说:“连年航海,何日是头,成败就看今日!”
张世杰决定不派战舰扼守崖门,却把千余艘战舰背山面海围成方阵,贯以大索,四周围起楼栅,一如城堞模样,帝昺的御船居于方阵之中。放弃入海口的控制权,是一大失误;把千余战船贯以大索,更是一大失误。他在四年前焦山之战中就因为将十船连成一舫,最后被动挨打,大败而归。如今,他不但无视前车之鉴,还把同样错误犯得更大,崖山之战的结局这时已经铁定了。
张世杰的战舰方阵准备了半年的干粮,但所需燃料与淡水仍来自崖山,每天派快船前往砍柴与汲水。张弘范一方面派重兵把守崖山上的淡水源,一方面派出小型哨船袭击宋军的运水船。十余天后,宋军淡水供应成了问题,一饮海水则就上吐下泻,战斗力大减,水战优势逐渐丧失。
元军在崖山西山头上架炮射击帝昺的御舰,但御舰张起布帘抵挡炮石,纵受炮击仍岿然不动。张弘范派出满载柴草的小船,点火直冲宋军方阵。但宋军以泥涂舰,外缚长竿顶住火船,再用水桶浇灭火苗,使火攻不能得逞。
正式开战前,张弘范让不久前被捕的文天祥写信劝降张世杰。文天祥答道:“我救不得父母,怎么还能教别人背叛父母呢!”还把日前所写的《过零丁洋》一诗抄录给张弘范。张弘范读到“人生自古谁无死,留取丹心照汗青”,连声称赞“好人好诗”,不再勉强他。张世杰在元军中的外甥三次奉命前往劝降,回答他的是:“我知道投降能活命,而且能富贵,但忠义之志决不动摇!”
二月六日,乌云密布,阴风怒号,元军兵分四路,从东、南、北三面向崖山发起总攻。张世杰的方阵南北受敌,士兵都疲惫无力战。战争从黎明进行到黄昏,元军摧毁了宋军七艘战舰,突破了对方的防线。张世杰见水师阵脚大乱,但大索贯联,进退不得,这才下令砍断绳索,率十余战舰护卫杨太后突围。
其时,暮色四合,风雨大作,对面不辨人影。张世杰率帅船杀到外围,见帝昺的座舰被其外围的战舰壅塞阻隔在中间,自己无法接近它,便派小舟前去接应帝昺。陆秀夫惟恐小船是元军假冒,断然拒绝来人将帝昺接走,张世杰只得率领十余战舰,护卫着杨太后,借着退潮的水势,杀出崖门。
陆秀夫见帝昺的座舰已无法突围,便决定殉国。他仗剑将自己妻子儿女驱入海中,其妻死拉着船舷不肯自尽,他喝道:“都去!还怕我不来?”其妻这才松手沉海。陆秀夫对帝昺说:“国事至此,陛下应为国死。德祐皇帝受辱已甚,陛下不可再辱!”说完,背起八岁的帝昺,跳入大海。
崖山之战是蒙元消灭南宋的最后一战,流亡近三年的南宋小朝廷终于灭亡。据载,战罢,“浮尸出于海十余万人”。倘若张世杰部署得当,用好这十万兵,流亡小朝廷何至于这么快覆灭呢!明代张溥说:“陈宜中能逃而不能死,陆秀夫能死而不能战”,还应加上一句:“张世杰能战而不能谋”。由这三个人撑持的行朝,其灭亡只是迟早的事。
宋末帝赵昺投海自尽 1279年2月,宋军大败,陆秀夫背着8岁的赵昺投海自尽。杨太后、张世杰也先后溺水而死。
杨太后随张世杰突围,听到帝昺的死讯,抚膺痛哭:“我忍死到今天,就为赵氏一块肉啊,现在没希望了!”也投水自尽。张世杰收拾残部,打算远走占城,但部下不愿背井离乡,只得仍回广东沿海。元军仍紧追不放。五月,张世杰率舰到达海陵港(今广东阳江南海陵岛),飓风突至,船队全部倾覆,他也堕海身亡。