當時,唐朝的軍隊集結在中原一帶,嶺南地區兵力比較薄弱。黃巢本想占領嶺南地區,休整一段時期,積蓄力量,再打到中原去,推翻唐朝。可是,部將們不願休息,要求盡快打回北方。黃巢同意了這個要求,以天補均平大將軍的名義發布檄文,指責朝廷的罪惡,率領起義軍從廣州出發,向北攻進現在的湖南、湖北,向東打到江西、安徽、浙江等地。
起義軍的聲勢越來越大,人數越來越多,發展到60萬人。唐僖宗派了好幾支大軍進行鎮壓,也阻擋不住。起義軍渡過淮河,向西北進軍幾千裏,攻下了東都洛陽。唐軍隻得退到潼關防守。一路上,起義軍紀律嚴明,不擄掠百姓,隻沒收官商富戶的財產充作軍需。起義大軍進入洛陽城的時候,還對百姓進行慰問,秩序井然。
起義軍挺進到潼關城下,滿山遍野都是起義軍的白旗。當黃巢來到的時候,全軍士氣高昂,大聲歡呼,山河震動。唐軍憑借關隘,勉強守了兩天。到第3天,尚讓和黃巢的外甥林言,分兵從一條叫“禁穀”的小路繞到關後,內外夾擊,攻破了潼關。這條“禁穀”,在平時,為了防止商人逃稅,禁止通行,裏麵長滿了灌木藤葛。起義軍打來,唐軍竟然忘記設防。第一天雙方交戰以後,官軍潰敗,爭著從禁穀逃命。一夜工夫,把地麵塌平了,正好給起義軍開辟了道路。
公元880年12月3日,黃巢攻克潼關。京城長安得知這一消息,陷入一片混亂之中。5日淩晨,唐僖宗和宦官田令孜帶著4個親王及數名嬪妃,率領500名神策軍,由金光門出了皇宮,匆匆忙忙地逃往四川。就在這天早晨,文武百官照樣上朝,等了很久,才知道皇帝逃跑了。當天下午,黃巢的前鋒大將柴存進入長安。唐朝廷的左金吾衛大將軍張直方不得不帶領文武官員幾十人,到長安郊外迎接。黃巢乘坐著黃金裝飾的轎子,由身披錦繡、手執兵器的隨從簇擁著,威武雄壯地進入長安城。兵強馬壯的起義軍隊伍,充塞道路的輜重車輛,浩浩蕩蕩地跟隨著前進。
長安的老百姓聽說黃巢進了城,都走出家門,夾道歡迎,觀看起義軍的軍容。起義軍士兵大多是受盡壓迫的民眾,所以,遇到貧民是很同情的,還送給他們財物;但對唐朝留下來的那一大群官吏,就十分憎恨,隻要一抓住就處死。幾天之後,也就是公元881年1月,黃巢在長安即位稱帝,國號大齊,年號金統。他任命尚讓為宰相,孟楷、蓋洪為將軍,著名詩人皮日休為翰林學士,組成了由起義軍文武首領和唐朝降官混合的大齊政權。
起義軍渡過淮河以後,一路無阻,但經過的重要地方如東都洛陽,都沒有留兵駐守。數十萬人全部進入長安,實際上好像進入口袋之中。長安在唐軍的四麵包圍下,糧食補給發生困難。不久,唐朝京城四麵諸軍行營都統鄭畋號各藩鎮,聯合起來進攻長安,各藩鎮響應。形勢對起義軍非常不利。
黃巢也想過打開局麵。他曾派尚讓等人率領5萬人攻打鳳翔。尚讓自以為聲勢浩大,行軍時,軍容不整;遇到伏兵,便被殺得大敗,損失了士兵2萬多人。一部分唐軍乘機進攻長安,黃巢以為是唐朝大軍來了,便率領眾人倉惶逃走。唐軍入城,大肆擄掠。黃巢停在城外,看到唐軍像一群烏合之眾,便又領兵殺回長安,殲滅唐軍十之八九。無奈,他的地方守將們聽說他已出城,也都放棄守城,逃往別處。
由於起義軍始終沒有打破敵人的圍剿,城內糧食又日益緊張更由於在這緊急關頭,起義軍的主要將領朱全忠(即朱溫)卻叛變投敵了,使得大齊政權處於多麵受敵的嚴重危機之中。
公元883年5月,黃巢被迫撤離長安,在河南、山東一帶繼續堅持起義。第2年6月,又與唐軍浴血奮戰,終因寡不敵眾,黃巢自刎於泰安狼虎穀(今山東萊蕪境內)。黃巢起義曆時十年,撼動了封建王朝的統治,功不可沒。