宣和三年(1121年)正月,在童贯的大军出发之前,赵佶哭丧着脸,对童贯说:“东南的事情,全靠你了。”随后,童贯、谭稹兵分两路,由王禀、刘镇等分别率领,向杭州和歙州两个地区进发,企图在睦州会合。方腊派遣方七佛领兵北伐,一举攻下了崇德县,进而开始围攻杭州东北的秀州,并分兵进入湖州境内。这时候,正好碰到王禀率领东路宋军从北而来,于是方七佛便率军迎战。但由于宋军人多势众,方七佛战败,被迫退守杭州。此时,方腊率领的主力军继续南征,相继攻下了婺、衢两州,而另一支部队则挥师北上,相继攻下了宣州宁国县,后来又包围了广德军。这次的调兵征战,使起义军先后攻下了六州、五十多个县,包括今浙江省全境和安徽、江苏南部以及江西东北部的广大地区。但是,起义军在秀州的战败却使杭州失去了屏障。
同年二月,宋军开始包围杭州,并与起义军展开激战。由于粮草不足,援军也没有及时赶来。经过一番苦战,起义军最终还是被迫退出了杭州。杭州的失守,起义军的形势开始急转直下。到了三月初的时候,起义军再次进攻杭州,却以失败告终,反而宋军的杨可世、刘镇所率领的军队在歙州大获全胜,王禀所率领的部队也在同一时间攻破了睦州。