文天祥十九岁时获庐陵乡校考第一名,翌年(宝祐四年)入吉州(今江西吉安)白鹭洲书院读书,同年中选吉州贡士,并随父前往南宋首都临安应试。在殿试中,他作「御试策」切中时弊,提出改革方案,表述政治抱负,宋理宗亲拔为第一,也成为权相贾似道门生,考官王应麟奏曰:「是卷古谊若龟鉴,忠肝如铁石,臣敢为得人贺」。但四天后父亲不幸病故,文天祥归家守丧三年。开庆初年(1259年)蒙古军攻鄂州(今湖北武昌),宦官董宋臣请理宗迁都以避敌锋,文天祥上疏请斩董宋臣,以振人心,并献御敌之计,未被采纳。后历任签书甯海军节度判官厅公事、刑部郎官、江西提刑、尚书左司郎官、湖南提刑、知赣州职等。咸淳六年(1270年)因得罪奸相贾似道而遭罢斥。
宋恭帝德祐元年(1275年)正月,因元军大举进攻,宋军的长江防线全线崩溃,朝廷下诏让各地组织兵马勤王。文天祥立即捐献家资充当军费,招募当地豪杰,组建了一支万余人的义军,开赴临安。宋朝廷委任文天祥知平江府,命令他发兵援救常州,旋即又命令他驰援独松关。由于元军攻势猛烈,江西义军虽英勇作战,但最终也未能挡住元军兵锋。
次年正月,元军兵临临安,文武官员都纷纷出逃。谢太后任命文天祥为右丞相兼枢密使,派他出城与伯颜谈判,企图与元军讲和。文天祥到了元军大营,却被伯颜扣留。谢太后见大势已去,只好献城纳土,向元军投降。
元军占领了临安,但两淮、江南、闽广等地还未被元军完全控制和占领。于是,伯颜企图诱降文天祥,利用他的声望来尽快收拾残局。文天祥宁死不屈,伯颜只好将他押解北方。行至镇江,文天祥冒险出逃,经过许多艰难险阻,于景炎元年(1276年)五月二十六日辗转到达福州,被小皇帝宋端宗赵昰任命为右丞相。