宋太宗征讨遼朝,落得個慘敗的結果,又喪失了像楊業這樣的勇将,沒有勇氣再跟遼朝作戰。再說,國内局勢也很不穩定,特别是川蜀地區接二連三爆發農民起義,弄得宋王朝手忙腳亂,難以應付。川蜀地區在五代時期,先後建立過前蜀、後蜀兩個政權,長期沒遭戰争破壞,因此,後蜀時期,國庫積貯得滿滿的,宋太祖滅了後蜀後,縱容将士在成都搶掠,把後蜀貯積的财富運到東京,激起了百姓的憤恨。到了宋太宗的時候,又在那裏設立衙門,壟斷買賣。蜀地出産的茶葉、絲帛,都被官府壟斷了。一些地主、大商人趁機投機倒把,賤買貴賣。蜀地百姓的日子就更難過了。
青城縣(今四川灌縣西南)有個農民叫王小波,和他妻子的弟弟李順,都是靠販賣茶葉謀生的。官府禁止私賣茶葉後,王小波斷了生路,決心起義。公元993年,王小波聚集了一百多個茶農和貧民,跟他們說:“如今這個世道,窮人越來越窮,富人越來越富,實在太不公平了。現在,我們一起來消滅這種不平均的現象,你們說怎麽樣?”這些茶農和貧民平時受夠官府、富人的剝削,聽了王小波的話,都熱烈擁護。消息一傳開,各地貧民都來參加王小波的起義軍。不出十天,就集中了幾萬人。
王小波有了人馬,先打下了青城。接着,又乘勝攻打彭山(今四川彭山)。彭山縣令齊元振,是個刁鑽狠毒的貪官。宋太宗禁止地方官員貪污,有一次,派欽差到蜀地調查。齊元振聽到欽差要來,先把貪污得來的财物分散藏在富商家裏。欽差到了彭山縣,查不出那裏官員有貪污行爲,回去向朝廷回報,朝廷就下令嘉獎齊元振清白能幹。齊元振騙過了朝廷,搜刮得更厲害。王小波知道彭山的百姓對齊元振怨恨最深,就帶起義軍攻打彭山。在彭山百姓的響應下,起義軍很快占領了縣城,殺了大貪官齊元振,把他平日從百姓那裏搜刮得來的錢财,分給那裏的貧苦百姓。王小波又帶兵北上,向江原(今四川崇慶東南)進攻。駐守江原的宋将張玘發兵反擊,雙方在江原城外展開一場大戰。
王小波的起義軍打得十分英勇頑強,張玘招架不了,就放起冷箭來。王小波沒防備,被冷箭射中了前額。王小波不顧滿臉鮮血,繼續進攻,終于打敗宋軍,把兇惡的張玘殺了。起義的隊伍進占了江原,但是王小波卻因爲傷勢太重死去。王小波一死,起義将士推李順做首領,繼續帶領大家反抗官軍。在李順的指揮下,起義軍越聚越多,連續攻下許多城池,殺死了一批貪官污吏,最後終于攻取了蜀地的中心成都。成都的文武官員抵擋不住,全都逃跑。
公元994年正月,李順在軍民的擁護下,建立大蜀政權。李順當了大蜀王,一面整頓人馬,一面繼續派兵四出攻占州縣。從北面劍閣到東面的巫峽,到處是起義軍的勢力。消息傳到東京,宋太宗大吃一驚,趕快召集宰相商量,說:“沒想到李順這樣厲害。一定要派遣人馬,把他讨平。”宋太宗派了宦官王繼恩爲劍南西川治安使,前往鎮壓。王繼恩分兵兩路,派人從東面堵住巫峽的起義軍,自己率領大軍向劍門進發。劍門是西川通向關中的要道。李順占領成都之後,也派将領進攻劍門,不幸遭到官軍阻擊,打了敗仗。
王繼恩順利地通過了劍門,集合各地宋軍,進攻成都。那時候,駐守成都的起義軍還有十幾萬,但是在敵人重兵包圍之下,經過英勇激戰,戰死了三萬人。成都城終于被攻破,李順也在戰鬥中犧牲。
後來,民間傳說在成都陷落的時候,李順并沒有死,他化裝成一個和尚,秘密逃出成都,繼續率領農民軍戰鬥。宋軍進城時,抓到一個胡子很長的人,外貌很像李順,就把他當李順殺了。又過了四十年,在廣州街上出現了一個老翁,有人認出他是李順,官府把他抓起來,在監獄裏秘密殺死了。這些傳說雖然不一定可靠,但是說明李順在群衆中,影響是很好的。