忽必烈即帝位後，改國號為元，於1274年發二十萬元軍水陸並進，直取臨安。1276年正月，謝太后執意投降。元將伯顏指定須由丞相出城商議，丞相陳宜中竟連夜遁逃，文天祥即被任右丞相兼樞密使都督出使議和。談判中，文天祥不畏元軍武力，痛斥伯顏，慨然表示要抗戰到底。遂被扣留，又被押乘船北上，文天祥最初以絕食抗議，後在鎮江虎口脫險。由於元軍施反間計，誣說文天祥已降元，南返是為元軍賺城取地，文天祥屢遭猜疑戒備，顛沛流離，千難萬死兩個月，輾轉抵溫州。這時，朝廷已奉表投降，恭帝被押往大都，陸秀夫等擁立七歲的趙端宗在福卅即位。文天祥又奉詔入福州，任樞密使，同時都督諸路軍馬，往南劍州建立督府，派人赴各地募兵籌餉，號召各地起兵殺敵。秋天，元軍攻入福建，端宗與大臣一起逃往海上，在廣東一帶乘船漂泊。 1278年春末，端宗病死，陸秀夫等再擁立六歲的小皇帝，朝廷遷至距廣東新會縣五十多里的海中彈丸之地，加封文天祥信國公。冬天，文天祥率軍進駐潮州潮陽縣，欲憑山海之險屯糧招兵，尋機再起。然而元軍水陸並進，發起猛攻。年底，文天祥在海豐北五坡嶺遭到元軍突然襲擊，兵敗被俘，他立即服冰片自殺，但沒有成功。降元的張弘范前來勸降，遭到文天祥的嚴辭拒絕。文天祥在紙上寫下了過去作的一首詩《過零丁洋》來明志：「辛苦遭逢起一經，干戈廖落四周星。山河破碎風飄絮，身世浮沉雨打萍。惶恐灘頭說惶恐，零丁洋里嘆零丁。人生自古誰無死，留取丹心照汗青。」張弘范看後，只是苦笑了一下，放在一邊。