晋隆安三年(公元399年),孙恩趁民心不稳,从海岛上率领他的部下杀了上虞令,而后攻打会稽。王羲之的儿子王凝之,是会稽内史,他一心信奉天师道,既不出兵迎敌,也不做任何设防。只是照例每天在道堂上磕头念咒。
手下官员请求派兵出城讨伐孙恩,王凝之说:“我已请来大仙,借来鬼兵把守各个险要关卡,每个地方都有几万鬼兵,敌人不值得担忧。”
等到孙恩逐渐逼近,才听从他们出兵抵抗,可是孙恩的部队已经到达城下了。孙恩很快攻下会稽城,王凝之逃走,被孙恩抓住杀了,还杀了他的几个儿子。
王凝之的妻子谢道蕴,是谢奕的女儿,听说敌人来到,从容不迫,命令婢女们抬着轿子,拔出佩刀出门,亲手杀了几个人,才被抓住。
吴国内史桓谦、临海太守新秦王司马崇、义兴太守魏隐等人都放弃郡城逃走。会稽人谢针、吴郡人陆況、义兴人许允之、临海人周胄、永嘉人张永等人以及东阳、新安等共八个郡的百姓,同时起兵,杀掉本地官员响应孙恩。十天之内,他们聚集了几十万人。
吴兴太守谢邈、永嘉太守司马逸、嘉兴公顾胤、南康公谢明慧、黄门郎谢冲、张琨、中书郎孔道等人都被孙恩的军队杀死。当时三吴一带一直都很太平,百姓不善于打仗,所以郡县的守兵都闻风而逃。
孙恩占据会稽,自称征东将军,逼迫士人充当他的属官,并把手下的人称作“长生人”,百姓中如果有不服从他的,就连婴孩一起杀掉,百姓死在他刀下的有十分之七八。他还把县令剁成肉酱,逼迫他们的妻子儿女吃下去,如果拒绝,就被分尸。
他们路过每一个地方就烧杀抢掠,砍伐树木,埋堵水井,率领百姓聚集在会稽。妇女怀孕不能跟着去的,都被扔到水中淹死,说:“恭喜你先登上天堂,我随后一定会来找你的。”孙恩上表安帝,列数会稽王司马道子和他的世子司马元显的罪状,请求杀掉他们。
自从安帝即位以来,朝廷内外变乱丛生,石头城以南的地区都被荆州、江州所占据,以西的地区都被豫州吞并,京口地区以及长江以北都是刘牢之以及广陵相高雅之控制的地盘,中央的指令就只能在三吴这一小片地方通行了。
孙恩作乱之后,三吴的八个郡也被孙恩攻占。京畿的几个县,祸乱四起。孙恩的党羽也有潜伏在建康城中的。大家都人心惶惶,唯恐有意外发生。
朝廷于是宣布全国戒严。安帝加授司马道子黄钺,任命司马元显为中军将军,命令徐州刺史谢琰兼管吴兴、义兴等郡的军事,讨伐孙恩。刘牢之也出兵讨伐孙恩,向朝廷上表之后,立即出师。
当初,孙恩听说八个郡都响应他,就对他的下属说:“天下不会再有事了,我将与诸位一起穿着朝服去建康。”
过了不久,听说刘牢之率领军队到了钱塘江边上,他说:“我即使割据钱塘江以东,也不失为一个越王勾践。”
后来,刘牢之率领大军渡过钱塘江,征伐孙恩,孙恩说:“我并不以逃走为耻。”于是他强迫百姓二十万人向东逃走,一路上,扔下许多抢来的财物和妇女儿童。官军争着抢他们扔下的东西。孙恩因此得以逃脱,又逃回到海岛上。