咸寧二年(276),司馬睿生於洛陽。太熙元年(290)司馬覲死,年僅十五歲的司馬睿依例襲琅邪王爵。同年四月,晉武帝司馬炎去世。繼立的司馬衷魯愚遲鈍,無力駕馭政局,統治階級內部為爭奪最高權力展開了極端殘酷的攻殺。在動盪險惡的政治環境中,處於帝室疏族地位的司馬睿無兵無權,為避殺身之禍,他採取恭儉退讓的方針,盡量避免捲入鬥爭的漩渦。在洛陽,司馬睿交結密切的朋友只有王導。
永興元年(304)七月,「八王之亂」**。東海王司馬越挾持晉惠帝司馬衷親征鄴城。當時,坐鎮鄴城的將軍是皇太弟成都王司馬穎。前不久,司馬穎擊殺了執政的長沙王司馬胄,強迫惠帝封他為皇位繼承人。在取得了都督中外諸軍事、丞相等職務之後,司馬穎將皇帝的乘輿服御盡數劫入老巢,並以鄴城遙制洛陽。司馬穎的橫暴和專權,引起了另外一些實力派人物的不滿。尚書令司馬越乘機以惠帝的名義發佈檄書,徵召四方軍隊討伐司馬穎。時任左將軍的司馬睿奉命參加了討鄴戰爭,年二十九歲。
兩軍在蕩陰(今河南湯陰)展開激戰。結果司馬越兵敗,遁回封國東海。惠帝及隨軍大臣被司馬穎劫掠入鄴,司馬睿也在其中。不久司馬睿的叔父東安王司馬繇因得罪司馬穎而遭殺害。司馬睿害怕禍事殃及自己,潛逃出鄴。在奔往洛陽的途中,他行至黃河岸邊曾被津吏捕獲,險遭不幸。司馬睿到達洛陽,馬上將家眷接出赴往琅邪(今山東膠南縣)去了。精心籌劃,移鎮建鄴永興二年(305)七月,司馬越經過一年的休養生息,實力開始復元。由於惠帝已被河間王司馬胄劫持至關中,司馬越無法*縱朝政,遂以西迎天子為借口,聯絡山東各方鎮討伐長安。臨行前,他以司馬睿為平東將軍、監徐州諸軍事之職鎮守下邳(今江蘇睢寧西北),為他看守後方。司馬睿引王導作司馬,凡「軍謀密策」皆聽由王導規劃。
永嘉元年(307)七月,司馬越改任司馬睿為安東將軍、假節、都督揚州江南諸軍事等職,負責鎮守建鄴(今江蘇南京市)。司馬睿到達建鄴半年之久,沒有任何當地大族主動地向他靠攏,表示親近。在司馬睿建立江東雛型割據*的過程中,王導起了決定性的作用。
永嘉三年(309),已在山西建立漢*的匈奴人劉淵前後兩次派兵攻打洛陽。總攬朝政的司馬越徵調建武將軍錢和揚州刺史王敦率軍援救京師。錢出身於吳興大族。當陳敏企圖割據江東時,他曾起兵討伐,陳敏敗後,以功封建武將軍。錢到達廣陵(今江蘇清江西),聞漢兵強盛不肯前行。司馬睿奉司馬越之命,派人催行,並威脅錢說要以軍法實行懲辦。
永嘉六年(312)二月,石勒在葛陂修堰築壘,課農造舟,確實有由此渡淮入江,奪取建鄴的打算。司馬睿採取了相應的防範措施,將主力部隊全部集中在壽春,任命熟悉水勢的南士紀瞻為揚威將軍,都督京口以南至蕪湖諸軍事。由於連降三個月的大雨,石勒的軍隊饑疾並臻。石勒聽從謀士張賓的建議,取消南下計劃,撤軍北上。紀瞻乘勢追擊一百餘里,江東形勢才化險為夷。
永嘉六年十二月(313年1月),司馬睿寫信給流竄到沌口(今湖北漢陽東南)的荊州刺史王澄,要他到建鄴擔任軍諮祭酒。他答應奔赴建鄴,但途經豫章時,王澄因得罪王敦,被殺。
永嘉七年(313)二月,劉聰將俘獲的晉懷帝司馬熾殺死。當年四月,凶信傳到長安。已經佔據長安的秦王司馬鄴開始稱帝,這就是晉愍帝。晉愍帝即位後改永嘉為建興,並任命司馬睿為左丞相、大都督,負責都督陝東諸軍事;以秦州刺史南陽王司馬保為右丞相、大都督、負責都督陝西諸軍事。這是愍帝借用歷史上周公召公「分陝而治,挾輔天子」的典故,對司馬睿等人實行的重封。
王與馬共天下次年二月,弘農太守宋哲逃至建康。宋哲帶來了愍帝臨降前所寫的詔書。詔書同意司馬睿代他「統攝萬機」,從這時起,偏居江南一隅的司馬睿*已成為晉王朝的唯一代表。六月,劉琨等一百八十名北方將領懷著各樣的目的聯名上書給司馬睿,進行勸進。司馬睿拒而不受,一則由於愍帝未死,二是愍帝的附加條件對他有很大的壓力。恰巧這時,祖逖在收復大片北方領土之後,又在譙縣(今安徽毫縣)打敗石勒大軍。司馬睿借勢傳檄天下,聲稱要派遣其子司馬裒統率三萬大軍、水路四道,增援祖逖。然而隊伍尚未出發,司馬裒旋即被召回建康。再一次表明司馬睿的所謂北伐仍是在故作姿態。這年年底,劉聰將備受羞辱的晉愍帝殺死。愍帝之死,使司馬睿的稱帝不再存有任何障礙。司馬睿一面斬縗居廬,表示對愍帝的哀悼,一面積極籌劃即位前的事宜。這時,南渡的北方大族周嵩上疏,勸說司馬睿不要忙於稱帝。他認為,司馬睿當務之急是出師北伐,「雪社稷大恥」。實際上,他是在要求司馬睿履行愍帝詔書的附加條件。上疏後,周嵩很快遭到報復,先是被貶出朝廷改任新安太守,後又以「大不敬」之罪幾乎被殺。
太興元年(318)三月丙辰日,司馬睿名正言順地坐上了皇帝的寶座,東晉王朝正式建立。
太興二年(319),司馬睿以王廙在州濫殺引起民怨為由,將周訪調入建康,改派周訪為荊州刺史。王敦害怕周訪據大州對他構成威脅,遂自領荊州。當初,王敦懼怕杜曾,曾對周訪許願說,如能擒殺杜曾將薦舉他為荊州刺史。就在司馬睿調王廙入京之前,周訪攻滅了杜曾,但王敦並不履行諾言。周訪對王敦的出爾反爾,食言而肥,非常氣惱。他在襄陽努力務農訓兵,修養生息,伺機對王敦進行報復。祖逖打敗石虎收復譙縣後,陸續降服了許多中原塢主和割據武裝,黃河以南的土地皆歸晉有。祖逖士馬強盛、糧儲豐足,隨時準備推鋒越河,掃清冀朔。祖逖的兵力雖然全部集中在北方前線,但是他的威望和影響卻對王敦有著巨大的震攝力,使得王敦不能不有所顧慮。
太興三年(320)八月,周訪病死。王敦消除了一塊心病,遂起用沈充、錢鳳等人積極謀劃起兵前的部署。與此同時,司馬睿一面繼續排斥王導,削弱他的實際權力;一面努力佈置對王敦的防範。這年年底,他拒絕王敦以沈充為湘州刺史的請求,派遣宗室譙王司馬承出鎮湘州。臨行前,司馬睿對叔父講,王敦圖謀不軌已經公開*,惠皇帝受制於強臣的命運,離自己不會太遠了。湘州據大江上游,控馭荊交廣三州,位置十分重要。他希望叔父去那裡能夠牽制王敦的行動。鑒於東晉政府的絕大部分軍隊皆掌握在各地的外藩手中,司馬睿迫切地需要擴建能為自己所用的軍隊,以對付王敦。大興四年(321)五月,在刁協的建議下,他下詔調發淪落到揚州地區大族家為奴或者為客的北方平民,免除他們的奴客身份,編入兵籍。司馬睿將他們分別配給親信劉隗和戴淵所統領的軍府。為保證詔令的順利執行,司馬睿頒布了給客制度。給客制度是在西晉蔭客制度基礎上,根據東晉社會的實際制定的政策。給客制度除對第一、二品官職蔭佃客戶數的規定比舊制有所減少外,以下各品皆有大幅度的增加,如第三品由原來的十戶增至三十五戶,第四品由七戶增至三十戶,最低的八品、九品也由原來的一戶增至十戶、五戶。給客制度保留了舊制的蔭衣食客人數,又增加了蔭典計人數的規定。給客制度進一步明確了「客皆注家籍」,「皆無課役」,「其佃谷皆與大家(主人)量分」(《隋書·食貨志》)等規定。給客制度再一次從法律上肯定士族地主私佔人口的權力,反映了東晉時期士族地主的強大以及皇權對它的軟弱和依賴。當然,這一制度同樣反映了地主國家同地主分子在勞動人手方面的激烈爭奪。因為司馬睿頒布給客制度的主要目的是限制大族對國家人口的過度侵吞,並把他們超過規定的私佔人口強征為國家所有。通過征客為兵,司馬睿得到了大量的兵員,配給劉、戴兩個軍府的人數各在萬人以上。由於這一措施使許多大族蒙受損失,引起他們普遍的怨憤,以至後來在王敦兵犯宮闕之時,這些人大多持默許的態度。當年七月,司馬睿以尚書僕射戴淵為征西將軍、都督司兗豫並冀雍六州諸軍事、司州刺史,鎮合肥;以丹陽尹劉隗為鎮北將軍、都督青徐幽平四州諸軍事、青州刺史、鎮淮陰。
戴、劉二人假節領兵出鎮,名義上是對付北方的少數族,實際上是司馬睿在繼司馬承出鎮湘州後的另一防範王敦的重要軍事部署。在戴淵為都督的四州中,包括祖逖所在的豫州。朝廷對祖逖在北方所受的艱辛向來不聞不問,而在披荊斬棘收復了大片河南領土之後,卻派人對他進行管轄,這使得祖逖怏怏不快。他認為,戴淵雖有才望,但由於是江南人,素無宏圖遠見,對北伐事業既會不關心,也可能不理解。特別是祖逖得知王敦與朝廷的矛盾已是一觸即發,戴淵出鎮是專為對付江州而來時,更感到灰心喪氣。祖逖預感到,東晉將有一場內戰,北伐事業難以成功了。他悒憤成疾,終於發病而死。祖逖之死,使王敦如釋重負。對於發動兵變,他再沒有任何永昌元年(322)正月,王敦以誅劉隗為名,從武昌起兵向建康進攻。在王敦為劉隗開列的大量罪狀中,最主要的一條就是取奴為兵。顯然,王敦以此爭取大族對他起兵的支持。王敦聲言,他身為宰輔,不能坐視劉隗誤國。他還指斥司馬睿「棄忽忠言,遂信奸佞」,並表示,不殺劉隗絕不罷兵,「隗首朝懸,諸軍夕退」(《晉書·王敦傳》)。在王敦起兵的同時,他的心腹沈充從吳興起兵進行響應。三月,王敦帶兵行至蕪湖,復上書司馬睿要求懲辦刁協。司馬睿一面命令劉隗、戴淵還軍保衛建康,一面下詔討伐王敦。王敦突然起兵,給王導帶來很大困難。他每天一早就帶上兄弟子侄在皇宮門前請罪,以避免舉族受誅。在周f的申救下,司馬睿任命王導為前鋒大都督,同時,他加封戴淵為驃騎將軍,周f為尚書左僕射,王邃為右僕射,分別統領軍隊。司馬睿又加封周札為右將軍,與劉隗分別守衛建康城的兩個軍事要塞——石頭城和金城。司馬睿還授以梁州刺史甘卓為鎮南大將軍、侍中、都督荊梁二州諸軍事的職務,改調陶侃為江州刺史,命令他們各率所部攻打王敦的後方。
王敦的軍隊到達建康,周札不戰而降,石頭城落入王敦之手。司馬睿連派刁協、劉隗、戴淵等人*,結果都未能成功。王敦攻入建康後,對司馬睿不理不睬,卻放兵四處劫掠。司馬睿的人身安全受到威脅,他派人轉告王敦說:「如果你沒有忘掉朝廷的話,請馬上息兵。你要有別的打算,我可以退居琅邪國為你讓路。」司馬睿見到敗退回宮的劉隗、刁協,拉著他們的手,痛哭流涕。他親自準備了馬匹、人力,催促他們逃走。後來,劉隗逃奔到石勒那裡;刁協則中途為人殺死。不久,在建康之外反對王敦起兵的各路州鎮也陸續遭到失敗,湘州刺史司馬承、梁州刺史甘卓先後被殺,陶侃則退回廣州。
王敦控制了朝政。他先後將戴淵、周f等人殺死,並「改易百官及諸軍鎮,轉徙黜免者以百數,或朝行暮改,惟意所欲」(《資治通鑒》卷九二)。他還把司馬睿軟禁在宮中,取消了人身自由。四月,王敦退軍還武昌,臨行前又在京城設置了留府,以控制朝廷。不久,王敦加領寧益二州都督,並把幾個軍事重鎮全部換上自己的親屬或心腹。在王敦看來,改朝換代已是唾手可得的事情了。
永昌元年十一月,司馬睿由於極度痛苦,心力交瘁,病死在宮中,時年四十七歲。馬司睿死後,其子司馬紹嗣位,是為明帝。明帝即位後二年,依靠其他大族的支持,將第二次起兵企圖篡奪帝位的王敦擊敗。