劉備入蜀以后,帶著豐厚的物資去了葭萌縣,龐統替劉備謀劃出三條計策。
上計:挑選出精兵悄悄的日夜兼程從小路去偷襲成都,劉璋既不會打仗,平日里又沒什么防備,大軍突然到達,一舉便可攻占成都。
中計:楊懷和高沛都是劉璋帳下的名將,他們各自都有強兵猛將,據守著白水關頭,聽聞他們還經常勸說劉璋,要讓劉備回到荊州去。現在可以故意讓楊懷他們知道,就說荊州有危急,劉備準備回去援救,并且假裝收拾行裝,像是要荊州的樣子。楊懷和高沛就會既服劉備英名,又高興劉備能回去荊州,他們必定會輕騎來見劉備,就趁機把他們擒獲,然后帶著他們的部隊,發兵向成都。
下計:劉備退還白帝城(就是巴東魚復縣,公孫述曾經占據成都,自稱白帝,所以改魚復城為白帝城),和荊州兵相連,后面再慢慢的找機會攻占成都。
三條計策都可以考慮,但是如果一直猶豫不決,后面將會有禍患,所以不能拖太久。劉備準備開始實施中計,也就是擒獲楊懷和高沛,再進兵成都。
剛好曹操攻打孫權,孫權就向劉備求救。劉備就借這個機會,寫了信給劉璋,說孫權和自己互相唇齒,荊州只有關羽留守,如果不去救援,曹操必定會攻占荊州,然后再入侵益州,這個憂患比張魯的要嚴重,張魯其實不足為慮。
劉備還向劉璋請求增兵一萬以及軍糧物資等等,不過劉璋只答應增兵四千,其余的物資也只給一半。
劉備就故意激怒部眾,說自己為了益州應對強敵,劉璋卻吝嗇給予物資,這樣的話,怎么能讓將士們拼力殺敵呢。
張松聽聞劉備將要回荊州,不知道這只是劉備的計謀,他就趕緊寫信給劉備和法正,說眼看著大事就要成了,怎么這個時候反而要離開呢,張松是勸劉備盡快取成都。
張松的哥哥張肅是廣漢太守,他擔心這事會禍及到自己,就揭發了張松的密謀。
結果張松被劉璋斬殺,劉璋又下令各關卡的守將,不要放劉備通關。
劉備知道后大怒,召來白水軍將領楊懷和高沛,以他們無禮為由,將他們斬殺,然后帶兵到關頭,合并了楊懷和高沛的部眾,進兵涪城。
益州從事鄭度聽說劉備發兵來攻,就對劉璋說,劉備現在兵不過萬,百姓還沒依附他,軍中輜重又少,只要堅守不出,拖延時間,不要應戰,他們物資缺乏,不過百日,就會自行退兵,到那時現趁機攻打,就能攻破劉備。
劉備知道后很擔心劉璋會用這個計策,法正就說了,不用擔心,劉璋不會采納鄭度的建議。
果然如法正所說,劉璋并沒有聽信鄭度。
他派了劉璝、冷苞、張任、吳懿、鄧賢等人抵拒劉備,結果全部戰敗,退回到綿竹,吳懿率眾投降。
劉璋又派了李嚴、費觀去督導綿竹各部,結果這兩人也都率眾歸降了劉備。
劉備的部隊壯大了起來,他分派各將領去平定各縣城,劉璝、張任和劉璋的兒子劉循退守雒城,被劉備帶兵圍攻,張任出戰,結果戰敗而死。
諸葛亮讓關羽留守荊州,自己和張飛、趙云帶兵去巴東郡,到了江州時,擒獲了巴郡太守嚴顏,攻占了巴郡,張飛還釋放了嚴顏,以賓客之禮相待。趙云從外水平定了江陽縣和犍為,張飛平定了巴西和德陽。
劉備圍困雒陽城一年多都沒能攻克,龐統又被箭射死,法正就派人送信給劉璋,給他分析形勢強弱,還說劉備依舊像以前的想法,不會虧待劉璋,法正勸劉璋歸降,以保全自身和全族。但是劉璋沒有給出答復。
后來雒城潰敗,劉備又繼續進兵圍攻成都,諸葛亮、張飛和趙云也帶兵來和劉備會合。
馬超知道沒辦法和張魯共事,而且張魯的部將楊昂等人又忌憚馬超的能力,所以馬超內心也有了想法。
劉備就派了李恢去游說馬超,于是,馬超從武都逃到氐中,下了密信給劉備請降,劉備悄悄的派人阻止馬超,私下又發兵去助他,結果馬超到了以后,直接帶兵屯守在成都城北,城中人人震恐,驚慌不安。
劉備圍困成都數十天,又派了簡雍入城去勸說劉璋歸降,當時成都城中還有精兵三萬人,錢糧也足夠支撐一年,城中官民都打算死戰。
劉璋說,他們父子在益州二十多年(漢靈帝中平五年時,劉璋的父親劉焉為益州牧,到此時已經二十七年),對百姓也沒什么恩德,如今戰亂三年,百姓死傷無數,都是自己的過錯,自己不能安心。
于是,劉璋下令打開城門,和簡雍一同出城歸降,部將群臣傷心不已,劉備把劉璋安置到了公安,歸還他所有的財物,以及振威將軍的印綬。
劉備入成都,安排酒宴犒賞眾人,把城中的錢財分賜給將士。
劉備自領益州牧,以軍師中郎將諸葛亮為軍師將軍,益州太守;南郡的董和為掌軍中郎將;偏將軍馬超為平西將軍,軍議校尉法正為蜀郡太守、揚武將軍;裨將軍黃忠為討虜將軍;從事中郎麋竺為安漢將軍;簡雍為昭德將軍;北海的孫乾為秉忠將軍;廣漢長黃權為偏將軍;汝南的許靖為左將軍長史;龐義為司馬;李嚴為犍為太守;費觀為巴郡太守;山陽的伊籍為從事中郎;零陵的劉巴為西曹掾;廣漢的彭羕為益州治中從事。
最初董和在郡為官時,清?公正,百姓很是愛戴他,所以劉備任用他為官。
之前,在劉備從新野到江南時,荊楚之地就有許多人追隨他。只有劉巴追隨曹操,曹操派他去招納長沙、零陵和桂陽,后來這三郡都歸屬劉備,劉巴就想從交州借道回京師,諸葛亮就寫信招降他,劉巴不肯,劉備很是遺憾。
后來劉巴就從交趾入蜀,歸附了劉璋,當初劉璋要迎劉備入蜀時,劉巴就反對,后來又反對讓劉備去討伐張魯,說這樣做等于是放虎歸山,劉巴的這些諫言,劉璋都沒聽,所以劉巴后來就閉門稱病了。
劉備圍攻成都時,就下令軍中,不允許殘害劉巴,否則誅滅三族,劉璋開城投降,劉備才得了劉巴,心中非常高興。
當時益州各郡都紛紛歸附劉備,只有黃權閉城堅守,等到劉璋歸降,他才投降劉備。
董和、黃權、李嚴都是劉璋任用的官員,吳懿和費觀等人是劉璋的姻親,還有彭羕,劉巴這些人,劉備統統重用。
在劉備圍攻成都時,他留下了中郎將霍峻守衛葭萌縣,張魯就趁機派了楊昂去引誘霍峻讓他共同守城,霍峻堅決不肯。
劉璋也派了扶禁和向存帶著一萬多人從閬水去圍攻霍峻一年,霍峻趁著對方懈怠之時,精兵出擊,斬殺了向存。
劉備平定蜀地以后,就把廣漢郡分為梓潼郡,以霍峻為梓潼太守。