有了自己的地盤和人馬,方臘建立自己的政權,他自號“聖公”,建元“永樂”,置官吏將帥,級別分為六等,以各種顏色的巾飾為別。
起義爆發後,兩浙路提點刑獄張苑急報朝廷,而宰相王黼不以為然,反而嚴厲斥責張苑“張皇生事”。義軍聲勢越來越大,兩浙路製置使張建派兵馬都監蔡遵、顏坦統精兵五千進剿青溪。方臘據險堅守,誘敵深入,在青溪縣息坑(今浙江淳安西)全殲官軍並斬殺蔡遵、顏坦。隨後,乘勝進取青溪縣,知縣陳光棄城而逃,俘獲縣尉翁開。起義軍很快發展到上百萬人,聲勢十分浩大,在短短三個月內,接連打下了歙州、杭州等六州五十二縣,包括今浙江省全境和安徽、江蘇南部、江西東北部的廣大地區,震動了整個東南。
義軍驟然興起,切斷了宋王朝的經濟命脈,趙佶驚恐萬狀。他一麵下詔“罪己”,令撤銷蘇、杭造作局和停運花石綱,罷黜朱勔父子兄弟的官職,妄圖鬆懈義軍的鬥誌;一麵派童貫任江、淮、荊、浙等路宣撫使,譚稹任兩浙路製置使,調集京畿的禁軍和陝西六路蕃、漢精兵約二十萬,南下鎮壓起義。
宣和三年正月,童貫到達江南後,依趙佶事先的布置,派兵進駐金陵(今江蘇南京)和鎮江(今屬江蘇)兩大重鎮,扼守江防。而後兵分兩路:東路由譚稹、王稟等統領,欲經蘇州、秀州進攻杭州;一路由劉延慶、劉鎮等分別率領,自宣州(治今安徽宣城)直進歙州。兩路軍約定會師於睦州。趙佶隨後又派郭仲荀、姚仲平另統一軍南下浙東,以為接應後援。
方臘占據杭州後,未采納太學生呂將的建議,先進兵江寧(今江蘇南京),搶占長江天險,阻止官軍過江增援,而是將主力調集到南麵,進攻婺州、衢州。這一戰略上的失誤,給官軍的大舉進剿提供了乘虛而入的有利時機,而起義軍自起兵以來在戰場上的主動權亦由此而喪失。
正當童貫統兵南下之時,方臘也正分兵南征北伐。北伐義軍兵分兩路:東路由方七佛領八萬義軍一舉攻克崇德縣,進圍秀州,又派一支隊伍進入湖州境內。秀州統領王子武據城頑抗,義軍攻城不下。正在激戰時,王稟所率東路軍亦推進到秀州城下。方七佛腹背受敵,與數倍於己的官軍拚命廝殺,方七佛身負重傷,所部九千餘人陣亡,最後突圍退守杭州城。
秀州之戰失利,杭州失去屏障。二月,官軍包圍杭州,義軍經過苦戰,因糧盡援絕,被迫退出杭州。杭州失守,形勢急轉直下。三月初,義軍再次進軍杭州,不勝。官軍楊可世、劉鎮部攻陷歙州,王稟部攻陷睦州。四月初二,衢州失守,義軍將領鄭魔王被俘。後婺州失陷。兩日後,王稟部攻陷青溪縣。方臘帶領義軍被迫退守幫源峒。四月下旬,王稟、劉鎮等各路官軍會合,總兵力二十餘萬人層層包圍幫源。
此時,方臘起義軍也有二十多萬人,他們憑借險要的地勢,四下設置陷阱和埋伏,準備殊死抵抗。官軍曾向門嶺發起過攻擊,但未能奏效。劉鎮又領精銳自小路偷襲門嶺。門嶺失守,幫源峒被打開了一個門戶。
官軍以“縱火為號”,分別由劉鎮、王稟率部從兩個方向進攻幫源峒。起義軍頑強抵抗。從清晨一直激戰到深夜,有萬餘名義軍戰死,方臘退守到一個石洞中。
在原裏正方有常之子方庚等人引領下,軍校韓世忠率一支人馬猛攻起義軍據守的石洞。八大王指揮義軍與官軍殊死搏鬥,七萬多義軍將士先後壯烈犧牲,方臘及其妻邵氏、子方亳(二太子)、丞相方肥以及八大王等三十多名首領力竭被俘,被解往杭州,又押解到汴京,八月二十四日方臘父子遭殺害。
“方臘雖就擒,而友黨散走浙東,‘賊’勢尚熾”。童貫派郭仲荀、劉光世、姚平仲等領兵分路鎮壓。五月,台州仙居縣義軍由俞道安帶領,從溫州永嘉縣楠溪攻占樂清縣,義烏縣義軍據天仙峒,壽昌縣義軍據月溪峒,與官軍激戰,天仙峒、月溪峒相繼陷落。蘭溪縣靈山峒義軍胡姓、祝姓二將與官軍劉光世部奮戰,胡、祝等一千六百多人戰死。越州剡縣裘日新與官軍姚平仲部作殊死戰,裘日新在桃源(今浙江嵊縣南)戰敗犧牲。
閏五月初,朝廷以方臘起義軍已遭鎮壓,北方與遼戰事正緊,下令將大部分官軍調往北方,僅留兩萬軍隊繼續圍剿剩餘的起義軍。官軍在姚平仲的統領下攻陷台州仙居境義軍據點招賢(今浙江臨海西)等四十餘峒。方五相公、方七佛部義軍接連失利。六月,仙居義軍呂師囊轉移至黃岩,宋軍折可存部自三界鎮追擊。義軍扼守斷頭山。官軍以輕兵從山後偷襲,義軍戰敗,呂師囊等三十多名首領犧牲。七月,俞道安部義軍號十萬人,自永嘉(今屬浙江)轉戰樂清(今屬浙江)等地,並於樂清重創官軍,隨即又攻打溫州(今屬浙江),攻城三十多天未破,遂轉入處州境內永康山穀中。十月,官軍進山圍剿,俞道安戰敗犧牲。
此後,義軍餘眾在各地繼續堅持戰鬥,殺官吏,捕官軍,直到宣和四年三月,才基本被鎮壓下去。
在起義前夕,方臘對當時的社會形勢做過一番分析判斷,他的分析判斷有一部分是正確的,有一部分則完全錯誤。他認為當時朝廷在江南設造作局,大搞“花石綱”,使東南之民不堪忍受,人心思亂,隻要揭竿而起,民眾必然聞風響應,“旬日之間,萬眾可集。”這個分析非常正確,後來也得到了事實的驗證。另外,他還指出,“守臣聞之,固將招徠商議,未便申奏,我以計縻之,延滯一兩月,江南列郡可一鼓下也。”這個判斷也很準確,方臘發動起義後,各地官員忙於應付,無暇將詳情上奏朝廷。直至宣和二年十二月,警奏才上報朝廷,當時北宋朝廷正調集兵力以圖北伐,大臣王黼“匿不以聞”。朝廷的無動於衷,使起義軍爭取到寶貴的時間,攻占了一個又一個州縣,達到了“一鼓而下江南列郡”的目標。
然而,方臘認為朝廷從決策到調集兵馬糧草“非半年不可”,完全是錯誤的判斷。自陳遘上奏後,朝廷在一個月內就已調集近二十萬大軍開赴前線,打了起義軍一個措手不及。北宋的禁軍非地方軍可比,是宋軍的精銳,起義軍雖然號稱百萬,但都沒有受過正規的訓練,而且各部隊分散在各地,各自為戰,缺乏統一的指揮,最終被宋軍各個擊破。