《宋史》也没有说这10万人都是自杀的,也有交战双方的将士,还有后宫,大臣。赞扬有气节的人,主要是指那些后宫女眷,大臣,残余兵将,这些人在战败以后,没有什么战斗力,但是不愿苟且偷生,而是选择投海自杀。
《宋史》本纪第四十七:十六年正月壬戌,张弘范兵至崖山。庚午,李恒兵亦来会。世杰以舟师碇海中,棋结巨舰千余艘,中舻外舳,贯以大索,四周起楼棚如城堞,居昺其中。大军攻之,舰坚不动。又以舟载茅,沃以膏脂,乘风纵火焚之。舰皆涂泥,缚长木以拒火舟,火不能爇。二月戊寅朔,世杰部将陈宝降。
己卯,都统张达以夜袭大军营,亡失甚众。癸未,有黑气出山西。李恒乘早潮退攻其北,世杰以淮兵殊死战。至午潮上,张弘范攻其南,南北受敌,兵士皆疲不能战。俄有一舟樯旗仆,诸舟之樯旗遂皆仆。世杰知事去,乃抽精兵入中军。诸军溃,翟国秀及团练使刘俊等解甲降。大军至中军,会暮,且风雨,昏雾四塞,咫尺不相辨。世杰乃与苏刘义断维,以十余舟夺港而去,陆秀夫走卫王舟,王舟大,且诸舟环结,度不得出走,乃负昺投海中,后宫及诸臣多从死者,七日,浮尸出于海十余万人。杨太后闻昺死,抚膺大恸曰:“我忍死艰关至此者,正为赵氏一块肉尔,今无望矣!”遂赴海死,世杰葬之海滨,已而世杰亦自溺死。宋遂亡。
祥兴二年,元将张弘范大举进攻赵昺朝廷。随后,攻占广州不久的西夏后裔元军将领李恒也带领军队也加入战事。相传起初宋军兵力约有20万,战船千多艘;元军只有2万人,战船五十余艘,北方人不习海战,多晕眩不支。这时宋军中有建议认为应该先占领海湾出口,保护向西方的撤退路线。张世杰为防止士兵逃亡,否决建议,并下令尽焚陆地上的宫殿、房屋、据点;又将下令千多艘宋军船只以“连环船”的办法用大绳索一字形连贯在海湾内,并且安排赵昺的“龙舟”放在军队中间。
元军以小船载茅草和膏脂,乘风纵火冲向宋船。但宋船皆涂泥,并在每条船上横放一根长木,以抵御元军的火攻。元朝水师火攻不成,以水师封锁海湾,又以陆军断绝宋军汲水、砍柴的道路。宋军吃干粮十余日,口干舌躁,许多士兵以海水解渴,脸部浮肿,大量呕泄。张世杰率苏刘义、方兴日大战元军,张弘范擒张世杰甥韩某,以其向张世杰三次招降不果。