司馬孚是東漢京兆尹司馬防第三子、司馬懿的三弟,兄弟八人俱知名,在當時号稱“八達”。司馬孚性格溫厚廉讓,以貞白自立,不與他人結怨。他還博涉經史,漢末動亂時,與兄弟在遷徙途中,仍不忘讀書自學。陳留人殷武,海内聞名,曾獲罪被流放,司馬孚前去探望他,與他同住同食,被時人稱頌。
魏陳思王曹植很有才華,清選官屬,以司馬孚爲文學掾。曹植恃才放曠,司馬孚總是誠懇地勸谏他,曹植開始并不接受意見,而後卻能向他道歉。後來,司馬孚又升爲太子中庶子,輔佐曹丕。
建安二十五年(220年),曹操去世,司馬孚勸谏太子曹丕節哀,與尚書和洽等整頓秩序,準備喪事,共同擁護曹丕繼位,不久代漢稱帝,是爲魏文帝。當時,曹丕選拔侍中、常侍等官,多用左右親近之人,司馬孚勸谏,于是更改人選。司馬孚轉任中書郎、給事常侍,宿省内,除黃門侍郎,加騎都尉。
黃初二年(221年),劉備伐吳,孫權向魏稱臣,許諾送來兒子作人質,送回俘虜于禁,很久沒有到達。曹丕疑惑,詢問司馬孚,司馬孚建議不要緊逼,而是準備部隊,靜觀其變。後來,于禁到達,隻是因爲路上得病而有所耽擱,而孫權的兒子終究沒有送來。曹丕率軍到達長江岸邊,責問吳國違背諾言,于是魏、吳關系惡化,吳國停止進貢。之後,司馬孚外放爲河内典農,賜爵關内侯,又轉任轉清河太守。司馬孚在曹丕時代也和辛毗觀點相同,反對伐吳,主張休養生息。
黃初七年(226年),魏文帝曹丕駕崩,魏明帝曹叡繼位,欲啓用司馬孚,問身邊的人:“司馬孚有他兄長的風範嗎?”身邊的人回答說:“和他的兄長很相似。”曹叡說:“我有司馬懿兄弟二人,還有什麽可擔心的?”于是任命司馬孚爲度支尚書。度支尚書,魏文帝曹丕時開始設置,掌管國家财政。
司馬孚認爲要擒敵獲勝,應該先有準備,每次諸葛亮入侵關中地區,邊境的士兵不能抵擋,需要調集中央軍隊奔赴戰場,倉猝間總是來不及準備,應該預先選出步騎二萬部隊,分爲兩部,以作交戰之用。他又建議,關中地區連年交戰,糧食物資儲備不足,應該從冀州調集農夫五千人屯于上邽,秋冬訓練,春夏屯田。這些建議都被采納,于是關中物資充實,對待蜀國的進攻也有應對。
景初三年(239年),魏明帝曹叡駕崩,齊王曹芳繼位,曹爽、司馬懿共同輔政。後來曹爽專權,李勝、何晏、鄧飏等掌權,司馬孚不管雜事,唯端正自己的行爲避免被人陷害而已。
正始十年(249年),司馬懿發動“高平陵事變”,政變奪權,司馬孚同司馬師一起屯兵司馬門,控制京師。曹爽一黨被殺,司馬孚因功進爵長社縣侯,加侍中。後來,司馬孚升任司空,又代替王淩爲太尉。
嘉平五年(253年),孫吳太傅諸葛恪征發二十萬人伐魏,圍攻新城。司馬孚督諸軍二十萬防禦,到達壽春,派毋丘儉、文欽等進攻。諸将想迅速出擊,司馬孚說:“進攻的一方,是要消耗大量人力才能成功的,暫且使用詐巧,不要與敵人力争。”故意滞留了一個多月才進軍,此時吳軍士卒疲勞,加之瘟疫流行,于是望風而退。
嘉平六年(254年),司馬師廢魏帝曹芳爲齊王,司馬孚未參與直接謀劃,但列名廢齊王的表章中。
正元二年(255年),蜀将姜維進攻隴右,雍州刺史王經戰敗,朝廷派遣司馬孚鎮守關中,統領諸軍。不久,征西将軍陳泰與安西将軍鄧艾進擊姜維,姜維撤退。司馬孚回到京師,轉任太傅。
甘露五年(260年),魏帝曹髦不滿司馬昭專政,率宮人讨伐司馬昭,于宮門處被殺。百官不敢奔赴,司馬孚前往,首枕其股(将曹髦的頭部枕于自己大腿上),失聲痛哭說:“讓陛下被殺是爲臣的罪過。”上奏請求捉拿主謀者,正趕上太後下令以平民的禮節安葬曹髦,司馬孚、司馬昭同群公上表,請求改以王禮安葬,得到批準。
司馬孚性格十分謹慎,司馬懿執政之際,他就有意避免過多地參與政治。而後司馬氏廢立皇帝,他也未直接參與其中的謀劃。司馬師、司馬昭因司馬孚是長輩,也不敢逼迫他,後來進封他爲長樂公。
泰始元年(265年),西晉代魏,魏帝曹奂被貶爲陳留王,遷往金墉城。司馬孚前往拜辭,握着曹奂的手,淚流滿面,不能自制,說:“臣到死的那天,也是純粹的大魏之臣。”
晉武帝司馬炎封司馬孚爲安平王,食邑四萬戶,進拜太宰、持節、都督中外諸軍事,設置官屬。每次元會時,司馬炎下令讓司馬孚乘車上殿,司馬炎則降階相迎。等到就座後,司馬炎親自獻酒祝壽,以家人之禮對待。司馬炎每次下拜,司馬孚都下跪來制止,司馬炎又賜予他雲母辇、青蓋車。司馬孚雖被如此尊寵,卻不以爲榮,常有憂色。
泰始八年二月壬辰日(272年4月3日),司馬孚去世,享年九十三歲。司馬炎于太極殿東堂爲他舉哀三日,贈“東園溫明秘器、朝服一具、衣一襲、绯練百匹、絹布各五百匹、錢百萬,谷千斛”以助喪事。葬禮規格,比照東漢東平獻王劉蒼的舊例。司馬孚臨終時,遺令:“有魏貞士河内溫縣司馬孚,字叔達,不伊不周,不夷不惠,立身行道,終始若一,當以素棺單椁,斂以時服。”
司馬孚常被當作忠臣和長者,他的政治、軍事才能一般不被人們重視。他的軍事才能雖然沒有司馬懿父子那樣突出,但是也還算出色。他也曾統帥部隊支援關中、合肥新城,同蜀漢、吳國的部隊作戰,這其中以救援合肥新城一役最爲有名。
吳國太傅諸葛恪指揮二十萬大軍,挾東關大勝之勢攻打合肥新城,大将軍司馬師命司馬孚統帥二十萬大軍救援合肥新城。司馬孚到達前線壽春後,淮南大将毋丘儉、文欽等要求立即進攻,司馬孚說:“凡是進攻的,都要借助敵人的力量,爲自己建立功績。要使用計謀和策略,不能僅憑力戰。”恰好司馬師也下令把合肥新城讓給諸葛恪進攻。