方七佛被迫率军败退回杭州,这使起义军的京城杭州一下子失去屏障,完全暴露在宋军直接的进攻之下。于宣和三年(公元1121年)二月,宋军完全包围了以方腊为首的起义军政权中心杭州。在这个时候为解杭州之危,方腊若能一下子全部调动百万大军在杭州里应外合与宋军童贯的十五万禁军决一死战,给童贯造成重创,或者毁灭性的打击,也会大大改变战局。可是方腊又一个过失坐失良机,竟然在宋徽宗下诏可以招抚诏安方腊这么长的时间里,只拒绝了诏安,而亲自指挥起义军抵抗外,再没有任何的调动应对措施。至此由于不能及时打败击溃宋军的进攻,造成城中缺粮,起义军不得不被迫突围放弃撤出杭州。
起义军在被迫缺粮的情况下撤出杭州,方腊又不甘心,备足粮草之后,三月,方腊应该选择宋军薄弱的地方予以痛击,打一次胜仗鼓舞士气,和震慑宋军得胜的士气,应该率军联合各地义军逐个扫除宋军,以歼灭宋军的有生力量为目的,及时揭穿童贯取消花石纲和宋庭暂时罢免朱勔的阴谋诡计,及时唤醒被迷惑的百姓,和起义军官兵,把宋军置于人民百姓战争的(汪)洋大海中,争取最后的胜利。却方腊又舍不得杭州一城一地的丢失,只计较一城一地的得失,匆忙又率领三十万起义军再次进攻夺取杭州。
在杭州与童贯的十五万禁军和宋军的地方军队决战,却又没有什么明显的措施,在起义军已经把宋军逼成死敌位置上去的情况下,宋军合在一起的军队也在二十万以上,起义军以自己攻城处于劣势的位置和措施去攻打杭州坚固之城,使起义军在城墙下伤亡十分惨重。童贯看到该出击的时候到了,于是下令宋军全面出击,里外夹击起义军,结果起义军在城外大败,被王禀率军疯狂拼杀,一举击溃。至此,宋军杨可世、刘镇率军乘胜夹击接连攻陷歙州,王禀部又挥师攻陷睦州。
到了此时,起义军形势瞬间急转直下,方腊率军惨败,左右各军闻方腊惨败,恐慌士气低落不稳的时候,也都接连被宋军各个击破惨败,在童贯下令全面出击的打击下,起义军瞬间迅速节节败退。起义军接二连三的被各个击破,睦州、衢州相继失守后,方腊支持不住却又带着惨败的二十万起义军,目标很大的被迫退到了他原来起义的老家青溪县一个狭小的青山地带帮源洞,决定凭险固守。
起义军一路溃败,宋军一路自然乘胜追击,尤其宋军各路大军都一心要先擒住方腊,都不约而同的争先咬住方腊率领的起义军不放。在知道方腊率领的起义军退到确切的位置后,童贯便把二十万宋军主力(禁军和地方宋军)重点兵分两路进攻。东路军有王禀率领禁军和地方宋军的中军,为东路军总指挥。辛兴宗统领前军,杨惟忠、何灌统领后军,共十万宋军,童贯自己和谭棋统率大军殿后。
东路军王禀率领十万宋军,四月十五日有睦州兵进白沙渡,起义军近万将士在白沙渡激战牺牲,被宋军夺去粮船一百多艘,丢失大量粮草。四天后,王禀接连率军攻陷了青溪县城,杀起义军将士数万。
西路军有刘延庆率领,命刘镇,杨可世部赶赴宣州。与刘延庆率领的宋军回合后,也是禁军加上地方宋军共计十万人,从西面背后逼近包围帮源洞,便对方腊的起义军的帮源洞东西前后形成了棋角夹击之势。
为了彻底切断方腊率领的起义军对外面的联系,童贯又命令地方宋军各自为战,以此来牵制各地的起义军对帮源洞方腊起义军的增援。一切都部署完毕之后,于四月二十四日黎明,童贯便下令东西两路宋军对帮源洞的起义军展开了疯狂的夹击进攻。
东西两路宋军,纵火为号,前后夹击。二十四日,先有西路军刘镇率领宋军,从帮源洞背后发起攻击,刘延庆在后跟进。起义军虽然凭山坚守,但没有弓箭和弓箭手,宋军迅速突破凭险固守在径崖壁的起义军防线,并乘胜且战且进。又一路放火,纵火焚烧树木与起义军的住所。由于起义军粮草在白沙渡被夺,致使起义军几乎断粮,在几乎空腹激战的情况下,起义军仍然顽强拼杀,不断奋勇的阻击迅速猛进的宋军。
担任正面突击的宋军西路军王禀,率领宋军,在帮源洞东面望见东路军的进攻燎烟,随即对帮源洞正面发起了攻击,与刘延庆刘镇合围夹击帮源洞起义军阵地。
帮源洞山区的二十万起义军,在方腊的率领下,英勇的投入到了艰苦惨烈的反进剿的战斗中。经过一天一夜的激战,起义军在空腹御敌的情况下,在前后宋军的疯狂攻击下,一天一夜损失竟达八万人。至此起义军的防守范围急剧缩小。在接下来的拼杀中而是节节败退,溃不成军,惨败拼杀而逃,败逃中死者不计其数,费了不少劲方七佛才率领一支败惨的起义军杀出重围而走。
其余的起义军大多被杀,生者近微。宋军大肆搜山,欲寻找方腊下落,却找不到方腊的下落,方腊就同从人间消失。王禀就命令到处抓老百姓,残暴拷间,欲获得方腊藏匿的地方,结果一无所获。王禀又下令不说就杀,这样被宋军杀死吊死的男女老少百姓不知道有多少,但还是未能得到有关方腊行踪的消息。
立功心切的王禀,又继续下令搜山,并限令搜山的宋军将士,若再三日之内不能抓到找到方腊,就军法从事。如此宋军的各级将领,都纷纷上山搜索。这时被宋军收买的起义军(叛)徒方世熊、方庚一伙人,为宋军作向导便缩小了搜索的范围,直接领着宋军到了以前方腊经常出没的地方帮源洞附近。
当时宋军东路军王禀手下的将领,辛兴宗手下有个中郎将韩世忠(就是后来《岳飞传》中的那个韩世忠,他靠找到方腊的下落,抓到方腊立功被提拔,做了两狼关的守将),他带领自己贴身的宋兵五十多人,也上山搜索,在(叛)徒的带领下缩小了范围搜山,搜遍了很多溪谷,终于在(叛)徒方庚又收买的(叛)徒,原来在方腊身边为亲信的方京的引领下,终于找到了起义军用藤曼瞒住退守的山洞帮源洞。
韩世忠和他的五十名贴身宋兵悄悄来到洞口,分开藤蔓,韩世忠一看到洞口,尽管不大,但有可能就是方腊藏身的地方后,立功心切的韩世忠,身上瞬间激动的心脏就要停止了跳动,在洞口想着自己立功而禁止声张,亲自向里看着洞口,见洞内发黑,回头正要挑拣贴身宋兵向里闯,却突然洞内冲出一人,这个人手里挥着一把大刀,却身上已经身负数处重伤,就向韩世忠砍来。
这个人不是别人,就是在宣州设伏宋军,给宋军予以痛击,却又宋军援军赶到,被迫惨败受了数处严重箭伤,方腊手下的勇将八大王。八大王从宣州退回帮源洞,箭伤还未痊愈,为了保护方腊,就提刀出来应战,期望先发制人杀了韩世忠,再杀了宋兵,杀净所有看到这个洞的宋兵和(叛)徒。于是,他一出来就立即挥刀狠狠的向韩世忠砍去,猛把韩世忠砍得碰血满面。