司馬攸年幼時(shí)就十分聰明,成年后性格溫和,親近賢才亦樂(lè)于施予他人;而且愛(ài)讀經(jīng)籍,能寫(xiě)文章,尤其擅長(zhǎng)寫(xiě)作書(shū)信,因而成了當(dāng)時(shí)的模范,才能和威望都超越哥哥司馬炎,祖父司馬懿很器重他。
因伯父司馬師無(wú)子,司馬攸就過(guò)繼給司馬師入作繼嗣。嘉平二年(251年),太尉王凌圖謀叛變被告發(fā),司馬懿領(lǐng)兵討伐,司馬攸也隨同出征,戰(zhàn)后獲封長(zhǎng)樂(lè)亭侯。正元二年(255年),司馬師病逝,當(dāng)時(shí)司馬攸年僅十歲,在葬禮上非常悲傷,感動(dòng)左右的人,受到稱(chēng)贊。之后襲封舞陽(yáng)侯。司馬師逝世后,司馬攸在另外的宅第侍奉羊徽瑜,以孝順聞名。
后來(lái)司馬攸又歷任散騎常侍、步兵校尉,治軍有威嚴(yán)與恩惠。
咸熙元年(264年),建立五等爵制度,司馬攸被改封為安昌縣侯,遷任為衛(wèi)將軍。
咸熙二年(265年),司馬昭逝世,司馬攸在居喪期間過(guò)度悲傷,超過(guò)了禮節(jié)的規(guī)定。數(shù)天水米未進(jìn),左右進(jìn)食都不接受。王元姬親自前往勸慰,又常常強(qiáng)逼司馬攸吃喝。再加上他的司馬嵇喜進(jìn)諫,無(wú)奈之下只得重新進(jìn)食。
同年,司馬炎建立西晉,司馬攸受封為齊王。他在當(dāng)時(shí)總統(tǒng)軍事,安撫國(guó)內(nèi)外,很得人心。當(dāng)時(shí)司馬炎下令分封的諸王可以自選封國(guó)官員,司馬攸雖三度上書(shū)反對(duì)都不獲接納,但司馬攸日后封國(guó)內(nèi)官員遺缺時(shí)都仍堅(jiān)持要由朝廷任命,不自作安排。另外當(dāng)時(shí)宗室的一切衣食開(kāi)銷(xiāo)都是有皇室負(fù)責(zé),但司馬攸則表稱(chēng)靠封國(guó)的租賦已足以生活,多次表示不需要皇室的財(cái)政支援,但又不獲接納;而司馬攸雖然一直留在洛陽(yáng),并沒(méi)到封國(guó),但封國(guó)的士卒官員都會(huì)以所收租賦來(lái)給予他們酬金,每有疾病和死葬司馬攸也會(huì)賜錢(qián)撫恤;而當(dāng)有天災(zāi)令農(nóng)產(chǎn)失收時(shí),司馬攸都會(huì)對(duì)封國(guó)內(nèi)百姓加以振濟(jì)和賒貸,也會(huì)減輕租賦,讓他們?cè)谪S收之年補(bǔ)交所欠的,這都令封國(guó)人民對(duì)他十分信賴(lài)。
后遷任驃騎將軍、開(kāi)府儀同三司,雖任高位但仍然很謙虛和以誠(chéng)信待人事。因司馬攸得人心,當(dāng)時(shí)驃騎將軍按例應(yīng)罷營(yíng)兵,但手下數(shù)千人都不肯離去,司馬炎最終都準(zhǔn)許他們繼續(xù)在司馬攸麾下。每次朝會(huì)時(shí),司馬攸都悉心陳說(shuō),認(rèn)真進(jìn)諫。又轉(zhuǎn)任為鎮(zhèn)軍大將軍,加任侍中,代理太子少傅,數(shù)年后改任太子太傅。咸寧元年(275年),司馬攸與何曾、賈充、陳騫、荀勖、羊祜及已故的鄭沖、荀顗、石苞、裴秀、王沈、司馬孚等都刻名列于朝廟受祭祀。 咸寧二年(276年),司馬攸接替賈充擔(dān)任司空,仍然兼領(lǐng)侍中、太子太傅之職。 在劉淵年輕時(shí),司馬攸便對(duì)他的行為舉止感到警覺(jué),因而對(duì)司馬炎說(shuō):“陛下如果不除掉劉淵,臣恐怕并州不能夠長(zhǎng)久安寧了。”王渾說(shuō):“大晉正要以信義來(lái)安撫異族,為什么要為了無(wú)形的懷疑,就要?dú)⒘巳思胰胧袒实鄣膬鹤幽?為什么恩惠的氣度就不能寬寵大量呢?”司馬炎贊同王渾的意見(jiàn)。
司馬昭在病重時(shí)曾憂(yōu)慮司馬攸之后的命運(yùn),于是在臨終前以西漢淮南厲王劉長(zhǎng)和曹魏陳思王曹植與他們身為皇帝兄長(zhǎng)的事勸司馬炎和司馬攸二人要和平共處;文明皇后王元姬曾經(jīng)患病,病好后,司馬炎與司馬攸都舉酒祝壽,司馬攸想到王元姬之前的病情非常危急,因而感嘆流淚,司馬炎都感到慚愧。司馬攸在司馬炎生病時(shí)曾在旁侍候,常常都是哀戚憔悴的樣子,眾臣都因而稱(chēng)贊他。等到王元姬臨終時(shí),也流淚著對(duì)司馬炎說(shuō):“桃符的性情急躁,而你這作哥哥的又不慈愛(ài)。我的病如果好不了,我很擔(dān)心你容不下他,我因此囑咐你,你不要忘記我的話(huà)。”
但當(dāng)司馬炎滅吳后身體健康惡化,而太子及各皇子都軟弱,朝中人人都希望由司馬攸繼位。但當(dāng)時(shí)司馬攸極為厭惡司馬炎寵臣荀勖和馮紞等人阿諛?lè)畛械男袨椋艘嗫峙乱坏┧抉R攸真的繼位,自己都會(huì)被貶謫,于是借故以正太子名位為由要將齊王調(diào)回封國(guó)。
太康三年(282年),司馬炎下詔任命司馬攸為大司馬、假節(jié)、都督青州諸軍事,并回到齊國(guó)。司馬攸知道后很不高興,又知道要他回封國(guó)是荀勖等人的主意。因而憤恨發(fā)病,司馬攸于是要求留守生母文明皇后王元姬的陵墓,但不被允許。
司馬炎又派御醫(yī)為司馬攸看癥,御醫(yī)們都稱(chēng)司馬攸沒(méi)病,以致不久司馬攸病情惡化之下仍然被催促盡快起程。司馬攸唯有抱病辭行,雖然病重仍然整飾衣冠容貌,舉止如常,更令司馬炎以為他并沒(méi)患病,但不久司馬攸就吐血而死,享年三十六歲。
司馬炎知道親弟死訊后哭得十分傷心,但馮紞則說(shuō):“齊王名過(guò)其實(shí),卻得到天下人民歸心,今天他病死是社稷之福,陛下不必這樣傷心!”司馬炎于是停止哭泣。司馬炎去治喪時(shí),司馬攸之子司馬冏訴說(shuō)是御醫(yī)們誣稱(chēng)司馬攸沒(méi)病,司馬炎于是誅殺那些御醫(yī)。賜謚號(hào)為獻(xiàn)。其葬禮規(guī)格與安平獻(xiàn)王司馬孚同等。