晉隆安三年(公元399年),孫恩趁民心不穩,從海島上率領他的部下殺了上虞令,而後攻打會稽。王羲之的兒子王凝之,是會稽內史,他一心信奉天師道,既不出兵迎敵,也不做任何設防。隻是照例每天在道堂上磕頭念咒。
手下官員請求派兵出城討伐孫恩,王凝之說:“我已請來大仙,借來鬼兵把守各個險要關卡,每個地方都有幾萬鬼兵,敵人不值得擔憂。”
等到孫恩逐漸逼近,才聽從他們出兵抵抗,可是孫恩的部隊已經到達城下了。孫恩很快攻下會稽城,王凝之逃走,被孫恩抓住殺了,還殺了他的幾個兒子。
王凝之的妻子謝道蘊,是謝奕的女兒,聽說敵人來到,從容不迫,命令婢女們抬著轎子,拔出佩刀出門,親手殺了幾個人,才被抓住。
吳國內史桓謙、臨海太守新秦王司馬崇、義興太守魏隱等人都放棄郡城逃走。會稽人謝針、吳郡人陸況、義興人許允之、臨海人周胄、永嘉人張永等人以及東陽、新安等共八個郡的百姓,同時起兵,殺掉本地官員響應孫恩。十天之內,他們聚集了幾十萬人。
吳興太守謝邈、永嘉太守司馬逸、嘉興公顧胤、南康公謝明慧、黃門郎謝衝、張琨、中書郎孔道等人都被孫恩的軍隊殺死。當時三吳一帶一直都很太平,百姓不善於打仗,所以郡縣的守兵都聞風而逃。
孫恩占據會稽,自稱征東將軍,逼迫士人充當他的屬官,並把手下的人稱作“長生人”,百姓中如果有不服從他的,就連嬰孩一起殺掉,百姓死在他刀下的有十分之七八。他還把縣令剁成肉醬,逼迫他們的妻子兒女吃下去,如果拒絕,就被分屍。
他們路過每一個地方就燒殺搶掠,砍伐樹木,埋堵水井,率領百姓聚集在會稽。婦女懷孕不能跟著去的,都被扔到水中淹死,說:“恭喜你先登上天堂,我隨後一定會來找你的。”孫恩上表安帝,列數會稽王司馬道子和他的世子司馬元顯的罪狀,請求殺掉他們。
自從安帝即位以來,朝廷內外變亂叢生,石頭城以南的地區都被荊州、江州所占據,以西的地區都被豫州吞並,京口地區以及長江以北都是劉牢之以及廣陵相高雅之控製的地盤,中央的指令就隻能在三吳這一小片地方通行了。
孫恩作亂之後,三吳的八個郡也被孫恩攻占。京畿的幾個縣,禍亂四起。孫恩的黨羽也有潛伏在建康城中的。大家都人心惶惶,唯恐有意外發生。
朝廷於是宣布全國戒嚴。安帝加授司馬道子黃鉞,任命司馬元顯為中軍將軍,命令徐州刺史謝琰兼管吳興、義興等郡的軍事,討伐孫恩。劉牢之也出兵討伐孫恩,向朝廷上表之後,立即出師。
當初,孫恩聽說八個郡都響應他,就對他的下屬說:“天下不會再有事了,我將與諸位一起穿著朝服去建康。”
過了不久,聽說劉牢之率領軍隊到了錢塘江邊上,他說:“我即使割據錢塘江以東,也不失為一個越王勾踐。”
後來,劉牢之率領大軍渡過錢塘江,征伐孫恩,孫恩說:“我並不以逃走為恥。”於是他強迫百姓二十萬人向東逃走,一路上,扔下許多搶來的財物和婦女兒童。官軍爭著搶他們扔下的東西。孫恩因此得以逃脫,又逃回到海島上。