時任元朝江東宣慰使的張弘範立功心切,他回大都入覲忽必烈,建議道:“張世傑立廣王(趙昺)於海上。閩、廣響應,宜派大軍剿滅,免留後患!”忽必烈大喜,立即命張弘範為蒙古、漢軍都元帥。陛辭之日,張弘範深諳韜晦之計,假意推辭主帥之職:“國朝軍製,無漢人統禦蒙古軍者。臣乃漢人,恐軍心不服,願陛下派親信蒙古大臣為帥,與我一道南征。”忽必烈深知張氏家族二世為蒙古效命,賜錦衣、玉帶以表示對他的絕對信任。張弘範拜而不受,提出:“奉命遠征,沒時間穿這些錦衣、玉帶。如能得陛下賜以盔甲、寶劍,則為臣可仗聖上威靈,令行禁止,無往不克!”忽必烈聞言大喜,賜張弘範尚方寶劍,表示:“尚方寶劍在手,如朕親臨。有不用命者,以此處之!”於是,張弘範薦李恒為自己的副手,至揚州後,發水陸精兵二萬,分道南下。
元軍水、陸兩路進兵,從海道攻襲漳州、潮州、惠州等地,數敗宋軍,並最終在海豐生擒了文天祥;步軍方麵,元將李恒越過大庾嶺,攻占廣州。
節節失利之餘,張世傑本人也從潮陽港乘舟入海,退保厓山。
張世傑手下有謀士相勸道:“北兵(蒙古軍隊)以舟師堵塞海口,則我軍進退失據,不如率先主動出擊,占據海口要地。如果得勝,國之福也;如果不勝,猶可西走。”
張世傑思之良久,自忖宋軍久漂海上,士卒離心,怕主動進攻失敗後,會導致軍卒立刻潰散,便對眾部下道:“頻年航海,何時可已!今須與北軍正麵一決勝負!”於是,他命人焚毀岸上所建數千間簡易房屋,把千餘艘大船牢結成一字陣,沉錨於海,“中艫外舳,貫以大索,四周起樓柵如城堞,奉宋帝居其間”,以必死之態,以求決戰。
此前,宋軍已被阿術縱火燒船殺得慘敗,張世傑不汲取教訓,仍舊出此下策,真是天時人事,均使宋朝一步一步踏向覆亡深淵。當然,張世傑已考慮到既是族弟又是敵將的張弘範火攻的可能性,命人在戰艦外皆塗滿厚厚一層濕泥,又在戰艦前麵綁住長木不讓元軍火舟靠近。
1279年正月,元軍統帥張弘範指揮元軍進攻。厓山以北水淺,元軍大舟怕擱淺,便從厓山以東轉而南駛,入大海後,從海口進薄宋軍水城。同時,元軍又出奇兵,斷絕宋軍陸上的汲水之路。由於宋軍船大陣牢,元軍水軍衝撞不成,張弘範就派人在木柴上澆上膏油,乘風縱火。由於張世傑事先派人在各船外層塗泥,元軍火攻並未得手。
強攻不成,張弘範派在自己軍中任職的張世傑外甥三入宋營,勸降這位族兄。雖與張弘範同族,又有外甥相勸,張世傑仍舊凜然正氣,對外甥道:“我知道,如果投降,不僅能保命,還能得享富貴榮華。但我已經立下誓願,定以死報答宋恩,此誌難移!”
見張世傑外甥說降不成,張弘範又逼迫被俘的文天祥寫信招降。文丞相凜然正氣,怎麼可能與狗賊張弘範同流合汙,就道:“我不能捍衛父母社稷,卻教人背叛父母社稷,絕對不可能!”張弘範再三催逼,文天祥便當其麵書寫《過零丁洋詩》示之。這首《過零丁洋》至今讀來仍讓人蕩氣回腸、感慨萬千!詩曰:
辛苦遭逢起一經,幹戈寥落四周星。
山河破碎風飄絮,身世浮沉雨打萍。
惶恐灘頭說惶恐,零丁洋裏歎零丁。
人生自古誰無死,留取丹心照汗青。
張弘範讀到“人生自古誰無死,留取丹心照汗青”之句時,不得不肅然起敬。苦笑之餘,他不再強求文天祥寫招降書。
即使如此,張弘範仍派人多次臨陣向厓山宋軍喊話:“你們的陳丞相(宜中)已逃,文丞相(文天祥)已被捉,你們不投降還等什麼?”厓山士民皆不答,無一人叛降。
強攻不成,張弘範命元軍水師封鎖海口,斷絕了張世傑通往陸地的交通。宋兵在海上餓了吃幹糧,渴了喝海水。海水又鹹又苦,兵士們喝了紛紛嘔吐。戰鬥力劇減。即使如此,張世傑仍率宋軍與元兵旦夕大戰。不久,元將李恒也率軍自廣州來會,與張弘範一起合攻厓山之北。本來,元軍諸將建議居高臨下,發炮猛攻宋軍水城。張弘範不同意,怕炮擊後宋軍散舟,浮海分逃,不能全殲,“不如以計聚留而與戰也”。李恒觀察形勢後,建議元軍合力與宋軍水師“相直對攻”。
陰曆二月初六拂曉,彤雲漫天,風吼海嘯。元軍選擇這樣一個惡劣的天氣發動總攻,意在先從精神上壓垮疲憊的宋軍。交戰之前,張弘範把元軍精銳分成四路,自己親率一路。在向將校部署出擊路線時,他說:“宋軍艦船停泊在厓山西麵,漲潮之後必然向東漂移,我軍要趁此有利天時發起猛攻。各路舟師以帥船鼓樂為號,聞風而動,不得有誤。違令者斬!”隨後由李恒帶領一路舟師,乘早潮退去、水流由北向南之機,順流對宋軍進行試探性的攻擊,以求宋軍暴露強弱虛實,張世傑率部英勇抗擊,雙方火拚廝殺,幾經較量,未分勝負。及至中午,潮水猛漲,宋軍艦船果真東移。張弘範見時機已到,便令帥船大奏鼓樂;張世傑不知這是元軍再次發動攻勢的信號,誤以為是敵船官兵在戰鬥間隙飲酒作樂,所以未加戒備。不料,元軍竟在鼓樂聲中從南北兩麵同時衝殺過來,宋軍腹背受敵,倉促迎戰。由於連年海上勞頓,宋軍不得休整,士卒體力大都衰竭,突然遭到淩厲攻勢,士氣很難振作。倘在此時有一環瓦解,整個防線就會全部崩潰。就在這關係南宋命運的決戰中,不幸的事情終於發生了。在元軍各路舟師的強攻下,宋軍的船隊中突然有一艘戰船的桅頂繩斷旗落,頃刻之間,許多艦船的檣旗也隨之紛紛降落。張世傑見旗倒兵散,大勢已去,連忙調集親兵砍斷船纜,準備輕裝衝開血路,殺出重圍。