殷浩连年北伐,屡屡被打败,军粮器械消耗殆尽。永和十年(354年),桓温借朝野上下对殷浩的怨愤,趁机上书列举殷浩的罪行,请求将他黜免。司马昱不得已,只得将殷浩贬为庶人,流放到东阳郡信安县。从此,内外大权都集中在桓温手里。
升平二年(358年),当时穆帝已到始冠之年(二十岁),司马昱意欲还政于穆帝,但穆帝不许。
兴宁三年(365年),司马昱听说冠军将军陈祐放弃洛阳,便与桓温在洌洲会面,共同商议征讨事宜。不久,哀帝司马丕驾崩,此事搁置起来。哀帝崩后,由琅玡王司马奕即位,褚太后以琅邪王绝嗣为由,再封司马昱为琅邪王(作为储君),又封司马昱之子司马曜为会稽王。司马昱不肯受封,尽管被封琅玡却未去会稽王之称。
太和元年(366年)十月,司马昱进位丞相、录尚书事,赐“入朝不趋,赞拜不名,剑履上殿”的荣誉,又赐羽葆、鼓吹及持班剑的武士六十人,司马昱又坚决辞让。
太和四年十一月二十五日(370年),在桓温北伐失败后,司马昱与桓温在涂中会面,共同商议之后的行动。
太和六年十一月十五日(372年1月6日),大司马桓温废司马奕为东海王,并于同日率百官到会稽王府奉迎司马昱,司马昱在朝堂更换服装,戴平顶头巾,穿单衣,面朝东方流涕,叩拜接受皇帝的印玺绶带,即日便即位为帝,改年号咸安。桓温临时住在中堂,分派兵力屯驻守卫。
桓温及后写了讲辞,打算向司马昱陈述自己废立皇帝的本意。但司马昱接见他不停流泪,令桓温战战兢兢,居然一句话都说不出来。
司马昱虽处在帝位,垂拱无为、持守常道而已,常惧废黜。当时,司马昱见荧惑入太微垣,因晋废帝被废时亦有同样天象,故此十分不安,对桓温亲信也是自己昔日僚属的郗超问桓温会否再行废立之事。郗超断言道:“大司马正在对内稳定国家,对外开拓江山,臣愿用全家百余口来担保,不会发生不正常的事变。”等到郗超急于请假回去看望他的父亲(郗愔,忠于晋室)时,司马昱说:“告诉尊父,宗族国家之事,竟到了这种地步,是因为朕不能用道德去匡正守卫的缘故,惭愧慨叹之深,怎能用语言来表达!”接着便咏庾阐之诗:“志士痛朝危,忠臣哀主辱。”吟诵得潸然泪下,打湿了衣襟。司马昱也因而忧愤得病。
咸安二年七月甲寅(372年9月7日),司马昱因病重召桓温入朝辅政,一天一夜连发四道诏令,桓温都推辞不到。二十八日(9月12日),司马昱立司马曜为太子。临终前,司马昱写了遗诏,要桓温依周公先例居摄,又写道:“少子可辅者辅之,如不可,君自取之。”王坦之在司马昱面前亲手撕毁遗诏,司马昱说:“晋室天下,只是因好运而意外获得,你又对这个决定有什么不满呢!”王坦之却说:“晋室天下,是宣帝(司马懿)和元帝(司马睿)建立的,怎由陛下独断独行!”司马昱于是命王坦之改写遗诏,写道:“家国事都禀报给大司马,如诸葛武侯(诸葛亮)、王丞相(王导)的旧例。”桓温看到后大失所望。同日,司马昱在东堂驾崩,享年五十三岁。十月初八(11月19日),葬于高平陵,庙号太宗,谥号简文皇帝。