公元1277年九月,为了呼应文天祥在江西的地位,张世杰派了十万大军,派了两个都统,想要夺回建昌。结果,宋军与元将李恒相遇,宋军大败。
照恩元军进逼,建宁府和邵武军被攻破,陈宜中和张世杰不得不随幼帝、卫王和杨太妃上船逃走。当时宋军有十七万兵马,三十万民兵,还有一万余名从两淮战场撤退的残兵败将,共计五十万马乘战船撤退。
半路上,宋船遇到了元军水师,由于大雾弥漫,又是傍晚时分,元军并没有注意到宋军海船撤退的浩浩荡荡。南宋的残军,总算是逃过了一劫。到了泉州码头,驻守安抚使蒲寿庚前来拜会,请幼帝留跸泉州。张世杰还是不放心。蒲寿庚是一位阿拉伯商人的后裔,世居泉州,提举市舶三十年。
当时,张世杰的幕僚们劝他,趁此机会把蒲寿庚留下,或者把他麾下的数百艘大船据为己有。张世杰没有远见,没听进去,很快就把蒲寿庚放回了泉州。
不久后,由于宋军撤退的人数过多,船只严重短缺,张世杰率领的宋军对蒲寿庚的船只进行了掠夺,没收了船上所有的金银。闻言,嗜财如命的蒲寿庚勃然大怒,突然宣布降元,在泉州城内大开杀戒,杀死了赵宋在当地的数千名士大夫。
陈宜中等惊慌失措,急忙带着宋帝乘船往潮州逃去。张世杰出兵讨伐蒲寿庚,这狡猾的阿拉伯商人一直闭门不出。不久,元军前来救泉州,张世杰只得退兵浅湾。
元军紧追不舍,向浅湾猛攻,张世杰不敌,奉宋帝之命逃往秀山。因为军中流行瘟疫,士兵们死伤惨重,张世杰也跟着宋帝逃到了井澳。陈宜中见势不妙,逃到占城(今越南中部)避难。宋少帝赵,到井澳(今广东大小琴岛之间)时,遇上了飓风,大船被巨浪掀翻,孩童险些淹死。点算兵数,张世杰发现死伤过半。
由于元军穷追不舍,宋帝逃入大海,元军大败,宋帝的叔叔俞如珪也被元军生擒。南宋残军本欲拥宋帝入城,却因风太大,不能入城。
公元1277年五月,宋帝赵是病逝于石冈州(今广东吴川西以南的一座小岛)。陆秀夫站了出来,劝道:“度宗皇帝的儿子还活着,他还能怎么办?古人以一旅一成兴盛,今百官皆备,士卒数万,若天不欲灭宋,岂不立国?”于是众人拥立年方八岁的卫王赵昺为帝,改为元祥兴。
因为陈宜中逃到了城外,陆秀夫和张世杰两个人,一内一外,辅佐南宋的幼帝。陆秀夫是盐城人,字君实。陆秀夫在景定年间考中进士。当时,状元为文天祥,二甲第一名为谢枋得,后来绝食殉国,陆秀夫则名列第二甲二十七位,洵千古佳话。李庭芝听了他的名字,就把他收为幕僚。
陆秀夫是个才华横溢的人。性子恬静,不苟言笑,终日矜庄。这也是李庭芝看重的原因。德佑元年,元军侵江南,文武百官逃得无影无踪,惟独陆秀夫和他的部下仍坚守岗位。李庭芝感动之余,举荐他入朝。德佑二年,陆秀夫奋不顾身,亲赴元营议和。二王逃温州后,陆秀夫闻风而来,与福州的陈宜中、张世杰等人一起拥立益王赵是。由于陆秀夫久是军中的高级参谋,陈宜中起初常向他请教行军之道。
不久陈宜中恨陆秀夫,便派大臣弹劾陆秀夫,将陆秀夫逐出家门。张世杰知道后,写信斥责陈宜中,说:“都什么时候了,还动不动就拿台谏弹劾正人!”陈宜中怕张世杰有兵在手,连忙将陆秀夫召回朝中,当时朝廷刚刚起步,君臣遍地,陆秀夫每到朝堂上,都是一副正气凛然的模样。有的时候,他哭得梨花带雨,衣衫湿透,周围人无不悲从中来。”高风亮节,是宋朝真正有高尚情操的士大夫。
七月间,宋帝带着张世杰等人来到了新会。邙山位于广东新会的南端,北临海港,南临大海,西临汤瓶山,如一道门户,“每当南风吹来,海浪汹涌,波涛汹涌,半日涨潮,实是舟师驻扎之地。张世杰虽然忠心耿耿,但在军事上却是一窍不通,“以为有险可守,就派人上山伐木,建了三十座行宫,三千间军舍……当时官军和民兵有二十余万人,大部分居住在船上,粮草从广右诸郡和海外四州运来,又派工匠,造舟楫,制造器械,十月始。
张弘范是元朝江东宣慰使,立功心切,回到都城,向忽必烈建议:“张世杰立广王赵昺于海上,以保天下。”闽、广两国响应,宜派兵剿灭,以绝后患。”忽必烈大喜,命张弘范为蒙古、汉都大元帅。陛下辞官之日,张弘范这条蒙古鹰犬,深知韬光养晦的道理,故作推辞道:“我朝军制,没有汉人用蒙古兵。臣乃汉人,恐有节制,还请陛下派一位亲信蒙古大臣,随臣南征。”
忽必烈深知张氏二世为蒙古效力,赐下锦衣玉带,以示信任。张弘范不要锦衣玉带,说:“奉命出征,衣带无事。若能得陛下赐剑,臣便可仗着圣上威灵,令行禁止,所向披靡!”忽必烈听了,将尚方宝剑赐给张弘范。不需要命令的,就在这里!”于是张弘范举荐李恒做他的副手,到了扬州之后,又派了两万水陆精兵南下。
元军舟师四至,由海道攻袭漳州,潮州,惠州,数度击溃宋军,最后将文天祥生擒于海丰。在步军方面,元将李恒越过大庾岭,攻入广州.
在节节败退之后,张世杰自己也乘船离开了潮阳港,逃回了邙山。张世杰手下的谋士劝道:“北军以舟师堵住海口,我军进退两难,不如先下手为强,占据海口。如果赢了,就是国家的幸运,如果输了,就可以向西走。”
张世杰沉吟良久,想到宋军在海上漂了这么久,士卒们都是心神不宁,生怕主动出击失败,军士们立刻溃不成军。“长年累月的航行,何其漫长!今日,我要与北军决一死战!”于是,他下令焚毁岸上数千间简陋的房屋,将数千艘大船围成一字型,沉锚于海,“内有外罩,外有大索,四面有高墙,宋帝居中”,准备拼死一战。
在此之前,阿术纵火烧了宋军的船,让宋军大败,但张世杰却没有吸取教训,还想出这样的计策,真是天时地利人和,使宋朝一步步走向灭亡。当然,张世杰考虑到张弘范既是族弟,又是敌人,所以下令在战舰上涂上一层厚厚的泥水,又用长木挡住了火势。
1279年正月,元军统帅张弘范率领元军进攻。
这座山以北的水很浅,元军怕搁浅,便由东面向南驶入大海,由海口直逼宋军的水城。同时,元军出其不意,截断了宋军在陆地上取水的通道。由于宋军船阵坚固,元军水军冲撞不成,张弘范便命人浇上香油,乘风而起。由于张世杰事先派人在船体外层涂上了泥巴,所以元军的火力并没有起到作用。
张弘范派了张世杰的侄子三次进入宋营,劝说他投降。张世杰虽是张弘范的族人,又被侄儿劝了几句,但还是义正言辞地对侄儿说:“我知道,投降不是保命,而是荣华富贵荣华。不过,我已经立下誓言,誓死报答宋恩,此心难改!”
张弘范见张世杰侄子不肯投降,便逼迫被俘的文天祥写信投降。文丞相拒绝了,说:“我不能保护父母,也不能背叛国家,这是不可能的!”张弘范再三催促,文天祥当着他的面写了一首《过零丁洋》。张弘范读到“自古谁无死,只为一片赤诚照汗青”,不由肃然起敬。苦笑一声,也不勉强文天祥写降书了。即使如此,张弘范还是派人在战场上多次向宋军喊话:“陈丞相已逃,文丞相(文天祥)已被擒,尔等意欲何为?”
猛攻无果,张弘范命元军水军封锁海口。由于水源枯竭,张世杰麾下的宋军只能喝海水,只能呕吐,战斗力大打折扣。即使如此,张世杰仍率宋军与元兵“旦夕大战”。不久,元军将领李恒从广州赶来,和张弘范一道,向北进发。元军诸将建议居高临下,向宋军的水城开炮。张弘范不同意,他怕宋军在炮击之后溃不成军,浮海分逃,不能全歼,于是李恒观察了一下局势,建议元军联合,与宋军水师“相直对攻”。
阴历二月初六,张弘范率领分元军大军,相距数里,张弘范和李恒两人相距不过一里,趁着潮水退去的时候,李恒率领大军从北而南,乘船直入宋军的水寨。张世杰率领淮军,拼死抵抗。
到了日中,潮水又涨,元军南面又乘胜追击,张世杰腹背受敌,战力大增。李恒虽然勇猛,却也不是对手。
张弘范施计,命人在大船四周布下重重障碍,又命将士伏盾,埋伏在船头,然后吹奏乐曲。张世杰误以为元军正在休整,准备赴宴,心情有些低落。宋军刚刚松了一口气,就见张弘范的战舰忽然向宋军左侧的水寨冲去。宋军齐齐射出弩箭,射中了船舷。张弘范估摸着宋军的箭矢已经用完了,便下令撤军。埋伏的元兵将宋军的气势压了下去,然后跳上宋军左侧最大的战舰,攻入水寨一角。
元军将士乘胜追击,大吼一声,冲入水寨,大开杀戒。张世杰见状,知道大势已去,便抽调精兵进入中军。宋军见了这一幕,溃不成军,翟国秀和数名宋军将领脱甲投降。
时值黄昏,“风雨昏雾四塞,近在咫尺”。张世杰派军士划着小船去接小皇帝逃走。陆秀夫“唯恐被人卖了,或被俘,不肯去。”来人无奈,只得返回张世杰那里复命。无奈之下,张世杰率十余艘战船护送杨太妃突围。
陆秀夫见少帝居住的楼船很大,诸舟环环,想要逃走几乎是不可能的事情。于是,他将妻子和孩子赶入海中,然后,走进船舱,将小皇帝抱到了船头,再次叩首,泣言道:“国事至此,陛下当为国而死。德佑皇帝被宋恭帝羞辱,陛下不能再羞辱他了!”孩子惊慌失措,完全不知道发生了什么事情。
哀嚎中,陆秀夫背起小皇帝,毅然跳入大海,上演了南宋最后的悲壮一幕。宋朝最终灭亡。
七天后,厓山附近的海面上,漂浮着十万具尸体。元军乘船搜查尸体,发现一具孩童尸体,身穿黄色衣衫,皮肤白皙,胸前挂着一枚玉玺。张弘范知这是宋朝皇帝的尸体,派人去取,却一无所获。这才敢向忽必烈汇报,说宋朝末年皇帝在海上淹死了。