司马亮年少时清正机警有才干,在曹魏时担任散骑侍郎,受封万岁亭侯。后担任东中郎将,进封爵位为广阳乡侯。甘露二年(257年),司马亮在寿春征讨诸葛诞失利,被免去官职。不久,担任校左将军,加任散骑常侍,加假节称号,出朝监豫州诸军事。五等爵位建立后,改封为祈阳伯,转任镇西将军。 泰始元年(265年),司马亮的侄子晋武帝司马炎受禅登基,建立西晋政权,封他为扶风郡王,食邑一万户,担任骑司马,增加参军掾属,加持节称号,都督关中雍凉诸军事。泰始六年(270年),秦州刺史胡烈被鲜卑族秃发部首领秃发树机能杀害,司马亮派将军刘旂、骑督敬琰前往救援,没有进兵,因此连坐贬为平西将军。刘旂判罪斩首。司马亮与军司曹冏上言说,节度的过失是由我司马亮发出,请求免去刘旂的死罪。晋武帝下诏书说:“高平围困危急,考虑到城中以及刘旂的实力足以相救,即使不能迅速到达,也应该尽力前进。他却奔走逃避,坐视失败,所以将刘旂治以重罪。现在如果罪责不在刘旂,应该有人承担此罪。”有关部门官员又上奏免去司马亮的官职。不久,司马亮又担任抚军将军。 泰始六年(270年)九月,吴将步阐前来投降,晋武帝命司马亮以假节都督诸军事的身份接纳步阐投降。不久加侍中之服。
历任要职咸宁元年(275年),司马亮把扶风池阳的四千一百户食邑作为母亲太妃伏氏的汤沐邑,设置家令丞仆,后来改用南郡枝江为食邑。伏太妃曾经患有小病,在洛水祭祀祓除。司马亮兄弟三人陪侍,都持节鼓吹,显赫于洛水之滨。晋武帝登上陵云台望见这个场面,说:“伏妃可以说是富贵了。”同年进号为卫将军,加任侍中。当时宗室殷盛,无人相统摄,晋武帝便以司马亮为宗师,原来的官职如故,让他训导观察,凡有不遵守礼义制度的宗室,小事以道义纠正,大事随时奏明天子。咸宁三年(277年),改封汝南王,出任镇南大将军、都督豫州诸军事,又任开府,加假节称号。司马亮到封国之后,供给他追锋车,白十轮牛车,钱五十万。不久,征召入朝司马亮担任侍中、抚军大将军,兼任后军将军,统领冠军、步兵、射声、长水等军营,供给五百士兵、一百匹马。又升任太尉、录尚书事,兼任太子太傅,侍中之职如同从前。