诸葛亮派张飞率领军队从大路入川,先夺取巴郡,自己和赵云则带领兵马从水路入川,在雒城会合,谁先到谁就是头功,并告诫张飞:四川的豪杰很多,不可轻敌,要收服人心,严明军纪,不要鞭打士卒。张飞遵照军师的指令进军,沿途的守将都望风而降,来到巴郡,太守严颜却紧闭城门坚守,拒不投降,张飞屡次挑战,都被乱箭射回。
张飞急中生智,想出一个计策,让士兵们四散上山砍柴,寻找路径。严颜在城中几天都没有看到张飞的动静,心里很疑惑,得知这个情况后,也派了几个小卒扮成张飞砍柴的士兵,混入其中。张飞故意当众宣布,当晚要从一条小路偷过巴郡,去取雒城;但暗中却安排一名士兵假扮自己在前开路。严颜听到这个消息后非常高兴,他想截击张飞的粮草辎重,带领军队埋伏在路旁的树丛中,当假张飞过去后,严颜带领伏兵杀出来,正要抢夺车仗时,不料背后一声锣响,冲出了真正的张飞,严颜惊呆了,不知所措,被张飞生擒。
张飞夺取了巴郡,发布榜文安抚百姓。众刀手将严颜推出,张飞坐在厅上,严颜不肯跪下,张飞怒喝道:“你这老家伙,怎么敢顽抗?”严颜毫无惧色,对着张飞破口大骂。张飞大怒,喝令左右斩首,严颜面不改色,叫道:“要杀就杀,要砍就砍!西川只有断头将军,没有屈膝之辈!”张飞见严颜慷慨忠义,视死如归,非常敬佩,亲自解开他的绑绳,扶严颜坐在正中的高位上,低头便拜。严颜感激他的恩义,于是投降。张飞让严颜为前部,顺利到达雒城。刘备攻克雒城,直逼绵竹,刘璋孤军无援,不得不向宿敌张鲁求救。
曹操曾用反间计在潼关大败西凉军马,马超败走后复仇心切,虽然得到羌人的相助但也只威风一时,几次与曹军交战因人少势孤,又轻信降将之言,在此大败只马超只好退守冀城,曹军再次来袭再次大败时妻儿均被其杀害,无奈只好率残部投奔汉中张鲁。张鲁派马超攻葭萌关,牵制刘备,以救刘璋。
这日张鲁让马超率部攻打刘备,诸葛亮用计激张飞前往迎敌,刘备不放心亲往督战。马超率部在城池外挑战,张飞出城迎战挺矛相迎,他早想会会这员虎将。两人在关前激战百余回合,不分胜负。刘备在关上观战,见马超装束非凡,英勇无比,他怕张飞有失,忙让士兵鸣金收兵。张飞回到阵中问刘备为何鸣金收兵,刘备劝谏不住,张飞再次出城迎战连头盔都没带,只裹包巾上马出阵,再与马超厮杀,两人又战百余回合,仍不分胜负,刘备再次鸣金收兵。此时,天色已晚,刘备说:“马超英勇,不可轻敌,且退上关,来日再战。”张飞杀得性起不愿回关,他朝后面士兵大叫:“命军士多点火把,安排夜战。”马超换了战马再出阵前,大叫道:“张飞,汝敢否夜战?若有胆量就点起火把,今夜决一雌雄!”张飞立即换了坐骑,冲出阵来,叫道:“莫非还怕汝不成?大喊让士兵点火把。并对马超喊道,马超今日我捉汝不得,誓不回关。”马超道:“张翼德,今日我杀汝不得,誓不回营。”两军点起千百火把,二将各振威风。刘备喜超之勇,亲自下城解斗,二人方才各自回阵。
刘备有意收下马超这员虎将,他用诸葛亮之计,派孙乾带金帛与张鲁手下谋士杨松结交,再进书张鲁,使张鲁下令马超撤兵,又派李恢说降马超。刘备终于收了马超,进而逼近成都,刘璋被迫开城投降。刘备将刘璋安置在公安,自领益州牧,为三分天下之一的蜀国奠定了基础。
刘备得了西川后,孙权欲向刘备索还荆州,按张昭之计,将诸葛瑾老小虚监在府,同时修书命诸葛瑾去西川向刘备讨还荆州。刘备和诸葛亮商定,假意答应先还长沙、零陵、桂阳三郡。诸葛瑾到荆州请关羽交割三郡,却遭严辞拒绝,悻悻而归。