文天祥十九歲時獲廬陵鄉校考第一名,翌年(寶祐四年)入吉州(今江西吉安)白鷺洲書院讀書,同年中選吉州貢士,並隨父前往南宋首都臨安應試。在殿試中,他作「御試策」切中時弊,提出改革方案,表述政治抱負,宋理宗親拔為第一,也成為權相賈似道門生,考官王應麟奏曰:「是卷古誼若龜鑑,忠肝如鐵石,臣敢為得人賀」。
宋恭帝德祐元年(1275年)正月,因元軍大舉進攻,宋軍的長江防線全線崩潰,朝廷下詔讓各地組織兵馬勤王。文天祥立即捐獻家資充當軍費,招募當地豪傑,起兵勤王,以「正義在我,謀無不立;人多勢眾,自能成功」的口號,組織義軍三萬,開赴臨安。宋朝廷委任文天祥知平江府,命令他發兵援救常州,旋即又命令他馳援獨松關。由於元軍攻勢猛烈,江西義軍雖英勇作戰,然最終因為孤立無援,抗爭失敗,到最後僅余六人。
次年正月,元軍兵臨臨安,文武官員都紛紛出逃。謝太后任命文天祥為左丞相兼樞密使(右相是長江防衛使賴旦臣,督導襄陽作戰),派他出城與伯顏談判,企圖與元軍講和。文天祥到了元軍大營,希望以談判的方式來刺探蒙古軍情,在談判過程中,文天祥據理力爭,怒罵伯顏。但與此同時,南宋朝廷卻派人前往文天祥軍營,宣布解散文天祥的軍隊。伯顏得知文天祥軍隊已經被解散,故下令逮捕他。此時元軍佔領了臨安,但兩淮、江南、閩廣等地還未被元軍完全控制和佔領。於是,伯顏企圖誘降文天祥,利用他的聲望來儘快收拾殘局。文天祥寧死不屈,伯顏只好將他押解北方。當文天祥被押送到鎮江的時候,得當地義士相救脫險。這時,南宋朝廷已奉表投降,恭帝被押往元大都,陸秀夫等擁立7歲的宋端宗在福州即位。文天祥於景炎元年(1276年)五月二十六日奉詔入福州,任樞密使,同時都督諸路軍馬,往南劍州(今福建南平)建立督府,派人赴各地募兵籌餉以繼續抗元戰爭。秋天,元軍攻入福建,端宗被擁逃海上,在廣東一帶乘船漂泊。
景炎二年(1277年)元兵入汀關,文天祥欲據蓮城拒敵,汀州守將黃去疾聞帝駕下海,擁郡兵有異心,文天祥逐屯兵朋口轉到龍岩。二月,文天祥率軍攻復梅州,四月斬殺跋扈大將二人後。至夏,由梅州出兵,進攻江西,此時各地豪傑響應抗元,號令通於江淮。在雩都(今江西於都)獲得大捷後,又轉戰至贛州,以偏師進攻吉州,陸續收復了許多州縣。元江西宣慰使李恆在興國縣發動反攻,文天祥兵敗,妻妾子女失散,收容殘部,奉老母再入蓮城,請命益兵再舉,後轉戰至循州。
祥興元年(1278)夏,文天祥得知端宗已死,繼位的弟弟──趙昺移駐崖山,被任命少保,信國公。為擺脫艱難處境,便要求率軍前往,與南宋行朝會合。由於張世傑堅決反對,文天祥只好作罷,率軍退往潮陽縣。同年冬,元軍大舉來攻,文天祥在率部向海豐撤退的途中遭到元將張弘范的攻擊,文天祥軍在五坡嶺造飯時被元軍攻擊,兵敗,文天祥吞下隨身攜帶的冰片企圖自殺,未死,但卻昏迷過去,在昏迷當中,文天祥被俘。
文天祥遂被張弘范押往崖山,讓他寫信招降張世傑。文天祥說:「我不能保護父母,難道還能教別人背叛父母嗎?」張弘范不聽,一再強迫文天祥寫信。文天祥於是將自己前些日子所寫的《過零丁洋》一詩抄錄給張弘范。張弘范讀到「人生自古誰無死,留取丹心照汗青。」兩句時,不禁也受到感動,不再強逼文天祥了。寫《過零丁洋》廿天後,南宋在崖山海戰慘敗後,陸秀夫背著八歲幼帝趙昺跳海而死,南宋滅亡。張弘范向元世祖請示如何處理文天祥,元世祖說:「誰家無忠臣?」命令張弘范對文天祥以禮相待。
元世祖忽必烈愛其才,首先派降元的原南宋左丞相留夢炎對文天祥現身說法,進行勸降。文天祥一見留夢炎便怒不可遏,留夢炎只好悻悻而去。元世祖又讓降元的宋恭帝趙顯來勸降。文天祥北跪於地,痛哭流涕,對趙顯說:「聖駕請回!」趙顯無話可說,怏怏而去。元世祖大怒,於是下令將文天祥的雙手捆綁,戴上木枷。關進兵馬司的牢房。文天祥入獄十幾天,獄卒才給他鬆了手縛,又過了半月,才給他褪下木枷。
元朝丞相孛羅親自開堂審問文天祥。文天祥被押到樞密院大堂,昂然而立,只是對孛羅行了一個拱手禮。孛羅喝令左右強制文天祥下跪。文天祥竭力掙扎,坐在地上,始終不肯屈服。孛羅問文天祥:「你現在還有甚麼話可說?」文天祥回答:「天下事有興有衰。國亡受戮,歷代皆有。我為宋盡忠,只願早死!」孛羅大發雷霆,說:「你要死?我偏不讓你死。我要關押你!」文天祥毫不畏懼,說:「我願為正義而死,關押我也不怕!」
從此,文天祥在監獄中度過了三年。在獄中,他曾收到女兒柳娘的來信,得知妻子和兩個女兒都在宮中為奴,過著囚徒般的生活。文天祥深知女兒的來信是元廷的暗示:只要投降,家人即可團聚。然而,文天祥儘管心如刀割,卻不願因妻子和女兒而喪失氣節。他在寫給自己妹妹的信中說:「收柳女信,痛割腸胃。人誰無妻兒骨肉之情?但今日事到這裏,於義當死,乃是命也。奈何?奈何!……可令柳女、環女做好人,爹爹管不得。淚下哽咽哽咽。」
元世祖至元十九年(1282年)三月,權臣阿合馬被刺,元世祖下令籍沒阿合馬的家財,追查阿合馬的罪惡,並任命和禮霍孫為右丞相。和禮霍孫提出以儒家思想治國,頗得元世祖贊同。八月,元世祖問議事大臣:「南方、北方宰相,誰是渠能?」群臣回答:「北人無如耶律楚材,南人無如文天祥。」於是,元世祖下了一道命令,打算授予文天祥高官顯位。文天祥的一些降元舊友立即向文天祥通報了此事,並勸說文天祥投降,但遭到文天祥的拒絕。十二月八日,元世祖召見文天祥,親自勸降。文天祥對元世祖仍然是長揖不跪。元世祖也沒有強迫他下跪,只是說:「你在這裏的日子久了,如能改心易慮,用效忠宋朝的忠心對朕,那朕可以在中書省給你一個位置。」文天祥回答:「我是大宋的宰相。國家滅亡了,我只求速死。不當久生。」元世祖又問:「那你願意怎麼樣?」文天祥回答:「但願一死足矣!」元世祖十分氣惱,於是下令立即處死文天祥。
次日,文天祥被押到刑場。監斬官問:「丞相還有甚甚麼話要說?回奏還能免死。」文天祥喝道:「死就死,還有甚麼可說的?」他問監斬官:「哪邊是南方?」有人給他指了方向,文天祥向南方跪拜,說:「我的事情完結了,心中無愧了!」於是引頸就刑,從容就義,年47歲。行刑後不久,有詔使止之,然文天祥已死,忽必烈惋惜說:「好男子,不為吾用,殺之誠可惜也。」
文天祥的浩然正氣萬古流芳,他慷慨就義的精神至今仍然被人們傳頌,不愧為「人生自古誰無死,留取丹心照汗青。」