宝庆二年(1226)进士,授新喻主簿。历知余干县、处州、镇江、隆兴府、太平州、临安府、建康府、江陵府及户部尚书、浙西安抚使、江东安抚使、宝章阁学士、明殿学士、资政殿学士等。
从真德秀学,宝祐三年(1255)累官至户部尚书兼知临安府、浙西安抚使;继加宝章阁直学士、沿江制置使、江东安抚使,知建康府兼行宫留守兼节制和州、无为军、安庆府三郡屯田使。
至建康,即以常例公用器皿钱20万缗支犒军民;削减租税,养鳏寡孤疾之人;招兵置寨,给钱助诸军婚嫁;属县税折收丝绵绢帛,倚阁除免以数万计;兴学校,礼贤才,僚属皆极一时之选。。为方便行人,他搜集旧名或起新名并亲书坊巷名匾额33处。宝佑五年,建康大雪,他自己捐钱30万缗赈济军民。
继调荆湖制置,知江陵府,建康百姓怀念不已。理宗闻知,命以资政殿学士、沿江制置使、江东学抚使衔,于开庆元年(1259)再任建康知府。
马光祖益思宽养民力,兴废起坏。免除前政亏欠钱百余万缗,罢减渔利税课,赐益于民。又修建明道南轩书院及上元县学。撙节费用,建平籴仓,贮米15万石,又为库贮籴本200余万缗,发粜常减于市价,以利于民。修饬武备,防拓要害,为政宽猛适宜,事存大体,边赖以安。继进大学士兼淮西总领,召赴行在,升提领户部财用兼知临安府、浙西安抚使。
时值岁饥,荣王府积粮不发。马光祖一连三日往谒才得见,对之厉声说:“天下孰不知大王子为储君,大王不于此时收人心乎?”王以无粮辞,马光祖取怀中文书,一一陈说某庄某仓贮粮若干,王语塞,得粮活民甚多。
进同知枢密院事。差知福州、福建安抚使。后以沿江制置、江东安抚使再知建康府。三次任建康知府,累计12年,威惠并行,百废修举。建康郡民为其建生祠6所。
咸淳三年(1267)六月,拜参知政事,五年进枢密使兼参知政事,以金紫光禄大夫致仕。
卒后谥“庄敏”。《宋史》卷四一六有传。