刘璋在杀了张松以后,随即命令各地将领,不再把公文送交刘备,刘备召见刘璋的白水军的司令杨怀与将军高沛,骂了他们一顿,将他们斩首。
刘璋、刘备成了仇敌。刘备一面派遣黄忠与卓膺,带兵向涪县(绵阳)前进;一面亲自冲进白水关,接收杨怀与高沛所遗留下来的白水军,先叫白水军的军官与兵士每人都把家眷留下来当“人质”。然后就率领这些军官兵士,开到涪县,与黄忠、卓膺二人的部队会合。
涪县很快就被攻下,刘璋的主力退守绵竹县。刘璋加派一个姓李名严的人,做守城的“督”。这李严守了不久,就伙同费观等人向刘备投降。
刘备进一步包围雒县(四川广汉)。围了差不多一年,破不了城。守城的是刘璋的大将张任。张任的部队,射死了刘备的两个“军师中郎将”之一:庞统(另一位军师中郎将是诸葛亮,留在荆州)。
刘备派人叫诸葛亮赶快来,也叫张飞、赵云同时来。
三人带了不少的兵,只留下不太多的部队,由关羽坐镇荆州。关羽身边,没有什么文人,只剩下一个马良(马良是马谡的哥哥,比马谡有学问)。
张、赵与请葛亮率军浩浩荡荡地进入益州,抵达江州(重庆),与刘璋的巴郡太守严颜,打了一仗,俘虏了严颜。张飞骂严颜:“我们的大军已到,你为什么不来投降。”严颜回骂:“你们来侵夺我们的益州。益州只有断头的将军,没有投降的将军。”张飞大生其气,叫左右把严颜拖出去砍了。严颜却并不害怕,也不生气,从容不迫地向张飞说;“砍头就砍头。你生气干什么?”张飞听了,有点惭愧,气也消了。对严颜生出了佩服之心,就吩咐左右,把严颜释放。而且聘请了严颜当自己的“宾客”(相当于今日的顾问参议)。
占领了江州以后,诸葛亮陪张飞走北路,赵云走南路,目的地是雒【luo】县。张飞所走的北路,可能是溯涪江而上,指向西北,经过今日的合川、遂宁、三台,转向正西,以便帮助刘备围攻雒城。
赵云所走的,是先向西南,溯长江而下,占领江阳(泸州)。转而向北,经今日的内江、资中、简阳。他们三人未曾到达雒县之时,刘备已经攻下了雒城,转攻成都了。
张飞、赵云与诸葛亮所率领的大军,与刘备所直接统率的部队会合,把刘璋紧紧地困在成都城。
忽然,马超派人从汉中来找刘备,表示愿意来益州投奔他。
刘备大为高兴,向左右说:“有马超肯来,益州等于是已经拿下来了。”
马超带领了他的残余的少数军队,来到成都郊外,拜见了刘备与张飞、赵云、诸葛亮、黄忠、卓膺等人。刘备分了很多兵给马超,叫马超把这些兵改换服装,在外表上成为凉州的胡人的样子。
刘璋在成都的城里,接到城墙上守望兵士的报告,说马超带了许多的凉州胡人部队来,十分害怕。
刘璋决定向刘备投降。他的左右说:“城里的精兵还有三万,粮食还够吃两年,为什么要投降呢?况且您父亲与您,两代的益州牧,都对老百姓极为宽厚。老百姓与文武百官,都愿意和兵士一致作战,情愿为您而死。”
刘璋说:“不必了。我与先父做了益州的长官二十几年,并没有什么恩德施给百姓。最近这三年(从建安十七年到建安十九年),与刘备兵连祸结,军民死了很多,都是为我而死。我怎么忍心再叫成都城內的这些人又死呢?”
于是,他开城投降。刘备对他也颇能留一手,不仅不将他杀害,而且送他与家眷到荆州公安城去住,叫他把私人的财宝完全带走。又准他仍旧佩带“振威将军”印绶(这振威将军的名义,是以前曹操用汉献帝的名义颁给刘璋的)。