尚之大败给桓玄，谢琰驻屯宣阳门作守备。司马元显成功策反刘牢之并让他击败并俘获王恭后，在建康处死王恭；而桓玄等知道王恭死讯亦停止进攻。谢琰在不久迁徐州刺史。隆安三年（399年），在上一年逃入海中的叛民领袖孙恩卷土重来，更攻克会稽（今浙江绍兴），杀内史王凝之，吴国、临海及义兴三郡太守弃郡逃走，于是以上四郡及吴兴、永嘉、东阳及新安共八郡都有人起兵响应孙恩，又大杀官员。孙恩自号征东将军，徒众为「长生人」。因着叛变发展严重，朝廷命谢琰加督吴兴、义兴二郡军事，与刘牢之前往镇压，成功杀死义兴的孙恩叛民领袖许允之，迎太