宋度宗赵禥(qí)即位后,孱弱无能,智商低于正常人水平,荒淫甚于理宗,整天宴坐后宫,与妃嫔们饮酒作乐。宋度宗连批答公文也交给四个最得宠的女人执掌,号称春夏秋冬四夫人。封贾似道为太师,倍加宠信,将朝政统统委托给他。贾似道见度宗比理宗还要昏庸,就更专横跋扈,目无天子,稍不加意,就以辞官相要挟,度宗唯恐他不辞而别,总是卑躬屈膝地跪拜,流着眼泪挽留他。贾似道大肆乱政,致使朝政昏暗。
忽必烈夺得蒙古汗位,稳定内部之后,即派兵侵犯大宋四川地区,并沿汉江南下,于度宗咸淳四年(1268年)包围襄阳,咸淳五年(1269年)又围攻樊城。贾似道却隐匿不报,也不派兵增援。1271年元朝建立,次年分水陆两路南下攻打南宋。咸淳九年(1273年)正月,樊城被元军攻破,同年二月,襄阳守将吕文焕在粮尽援绝的情况下献城投降。
元军在襄樊之战大破宋军以后,直逼南宋首都临安(今浙江杭州),德祐二年(1276年)宋朝朝廷求和不成,于是5岁的小皇帝宋恭帝投降。不久,刚满7岁的赵昰(shì)登基做皇帝,是为宋端宗,加封弟弟赵昺为卫王,张世杰为大将,陆秀夫为签书枢密院事,陈宜中为丞相,文天祥为少保、信国公并组织抗元工作。
景炎二年(1277年)12月,宋端宗逃至秀山,听说广州失守,慌乱之中退到井澳(今中山市南海中)。海上忽起飓风,宋朝船队被吹得七零八落,宋端宗落水,年逾七十的老臣江万载奋力跃入海中救起端宗,自己被巨浪卷走,眼看三年来一直贴身保护自己的最亲近大臣被海浪吞没,宋端宗因此染病。超过四成的宋朝士兵在这次飓风中丧命。飓风刚过,元将刘深又率兵来攻,张世杰迎战不敌,一直逃到七星洋,此役宋军损失船只两百多艘,连宋端宗的舅舅都被俘虏了。因元军追兵逼近,又不得不浮海逃往碙洲(今湛江硇洲岛)。宋端宗屡受颠簸,又惊病交加。景炎三年(1278年)4月15日,十岁的宋端宗在碙洲荒岛(今广东湛江硇洲岛)上病死。宋端宗赵昰的弟弟卫王赵昺被陆秀夫,张世杰、江万载之子江钲于同月在冈州拥立为帝,5月,改年号为“祥兴”,6月,迁到崖山(今广东省新会县南)。与此同时,南宋右丞相文天祥在五坡岭(广东海丰)被元军统帅张弘范的弟弟张弘正所俘,其统领的督军府从此瓦解。
祥兴二年(1279年)正月,元将张弘范率水陆两路元军直趋崖山。崖山背山面海,地势险要,张世杰下令焚烧岛上行宫军屋,人马全部登船,然后依山面海,将1千多条战船排成长蛇阵,用绳束连接在一起,船的四周筑起城楼,船上涂上一层厚厚的湿泥,缚上一根根长木。将帝昺的座船安置在中间,诏示将士与舰船共存亡。张弘范见宋军战船集结,行动不便,就先用小船装满柴草,浇上油,点火后乘风攻击宋水军。宋军船上的湿泥阻止了火势蔓延,长木又顶住了火船,使元军的火攻归于失败。张弘范又阻断了宋军的水源,封锁了海口。宋兵饥渴交加,处境日益困难。张弘范派人劝降,被张世杰拒绝。
祥兴二年二月初六(1279年3月19日),双方进行了最后的决战,张弘范分兵四路,发动猛攻。宋军正在拼命抵抗时,忽听得张弘范所在的指挥船上奏起了音乐。宋军以为这是元军将领在举行宴会,战斗就松懈了一下。不料此乐声是元军总攻的讯号,张弘范的指挥船直扑而来,箭如暴雨。元军在乱箭掩护下,夺走了宋军的战船七艘。各路元军又一齐猛扑过来,从中午到傍晚,海战进行得异常激烈。忽然,张世杰见到一条宋船降下了旗帜,停止了抵抗,其他战船也降下旗帜,知道大势已去,急忙一面将精兵集中到中军,一面派出一只小船和十多名士兵去接帝昺前来,准备突围。
赵帝昺这时正由左丞相陆秀夫守护着,待在一艘大船上。小船来接帝昺,陆秀夫因见不是三年多来一直由江万载、江钲父子所带的护随亲兵,不知这是真是假,担心帝昺如突围不成而被元军截获,坚决拒绝。他知道君臣都难以脱身了,就连忙跨上自己的座船,仗剑驱使自己的妻子投海自尽。然后,换上朝服,回到大船礼拜帝昺,哭着说:“陛下,国事一败涂地,陛下理应为国殉身。德祐皇帝(恭帝)当年被掳北上,已经使国家遭受了极大的耻辱,陛下万万不能再重蹈覆辙了!”帝昺则给吓得哭作一团。陆秀夫说完,将黄金国玺系在腰间,背起八岁的帝昺奋身跃入大海,以身殉国。顷刻间君臣二人就沉没得无影无踪。其他船上的大臣,宫眷,将士听到这个噩耗,顿时哭声震天,几万人纷纷投海殉国。
张世杰率领水军余部突围而出来到海陵山脚下,不久,有人带来了陆秀夫背负帝昺共同殉国的噩耗。张世杰悲痛不已,此时,飓风再来,部下劝他上岸暂避。张世杰俯视着在风粮中飘摇的宋军残船,拒绝暂避。绝望地回答:“无济于事了,还是与诸君共甘苦吧。”又说道:“我为赵氏,也算竭力了,一君身亡,复立一君,如今又亡,我在崖山没有殉身,是望元军退后,再立新君,然而,国事发展到如此地步,难道这是天意。”说完堕身入海,为国为民族尽忠殉国。南宋宣告灭亡。