恩攻沪渎并杀袁山松，又从海路进至京口（今镇江），图取东晋京师建康，刘裕追孙恩至丹徒，以少胜多，大量孙恩部众堕海或堕崖，令孙恩狼狈登船逃走。不过孙恩仍自恃人多，不久就重整兵力再进建康，司马元显率兵拒战亦屡战不利。孙恩渐渐逼近，不过此时朝廷已经陈兵待战，豫州刺史司马尚之亦入援建康，孙恩乘虚掩袭建康的图谋失败，于是至新洲后就撤退，北走郁州。孙恩在郁州曾击败来攻的高雅之并俘虏他，但及后刘裕来讨，多场战事后孙恩大败，实力大减，于是沿海南逃。南逃期间刘裕仍然一直追击，于是在沪渎又大败孙恩，孙恩于是在浃口再逃入海中。