建安十九年(公元214年)春,马超请求张鲁给他人马北上,又要夺取凉州。马超复出祁山后,围攻姜叙等人,姜叙连忙向长安的夏侯渊求救。大家都建议上报曹操后再采取行动,夏侯渊或许是鉴于韦康的败亡,不同意:"长安离邺城,往返四千里。等到魏公的指示,姜叙等人早就完蛋了。"这次他立刻命令张合带五千人马为前锋从陈仓小道进发,然后自己亲自统令大军为后盾。张合到达渭水后,马超带领羌兵几千,摆出了一副决战的架势。但是,马超已经是一天不如一天了。在潼关渭水时,曹操亲征;在蓝田时,夏侯渊自来;如今连曹军的前锋张合都已经打不过,连见曹军主将夏侯渊一面的资格都没有了,兵败退走。韩遂这时在显亲,夏侯渊想趁机平定。韩遂听说后,知道不是对手,逃走。夏侯渊收割军粮后,趁胜追击到略阳城,离韩遂的军兵只有二十里。手下的将领要么请战,要么建议攻击盘踞兴国的氐族,夏侯渊都不同意:"韩遂兵马精锐,兴国城池坚固,都不是那么容易攻取的。我看,不如攻击长离的羌人。羌人有不少在韩遂手下当兵,他们一定会回去救援。韩遂如果不一起回去,那么他就会势单力孤;如果一起回去救援,就可以避开坚固的城池而与其野战,一定能获胜。"于是,夏侯渊留下其他的将领看守辎重,自己带轻骑突袭长离。这下子,韩遂手下的羌人乱了套,韩遂也只好往夏侯渊的圈套里跳。然而,韩遂虽然中了计,到底人多势众。夏侯渊手下人看到后害怕罗网不够结实,捞不住这条大鱼,都劝夏侯渊先结营挖堑据守。夏侯渊一口回绝:"我们转斗千里,如今再结什么营挖什么堑,那么士卒将疲惫不堪,那里还能迎敌?韩遂虽然人多,没什么!"说完,命令士兵全力出击,大败韩遂的人马。韩遂从此一蹶不振,加之年事已高,再也无法兴风作浪。胜利后,夏侯渊顺势围攻兴国。至此,夏侯渊所战皆捷,氐王见到如此善战的夏侯将军,不敢交战,突围投奔了马超。别人跑不了,只好投降。十月,夏侯渊又平定了割据凉州三十年的宋建,迫降了羌胡等少数民族。关陇一带彻底被曹操平定。
诸葛亮接到刘备求援的书信后,留下关羽守荆州,自己与张飞赵云等领兵入川,攻击益州的南部。在巴郡,张飞打败并生俘刘璋的太守严颜。面对张飞的斥责,严颜面无惧色。张飞见严老将军雄壮,心中高兴,改变了砍头的主意而拜他为宾客。于是,张飞赵云等分兵平定各个州县,对成都的刘璋形成了南北夹击的事态。这下子,那个益州牧终于吃不消了。
这时候,刘备已经进攻雒城达一年之久,庞统在围攻时中冷箭而亡。法正写信给刘璋,陈述如今的情势,指出刘璋弱不敌强,并劝刘璋放弃抵抗。刘璋对此来了个不闻不问。然而,面对刘备诸葛的南北夹攻,刘璋的手下渐渐失去了信心,雒城在这年夏天终于被攻破,这下子刘备畅通无阻进围成都,并与诸葛亮等人会师。在张鲁手下的马超见到张鲁不是个英明的人物,又因为结亲的事被其手下所阻挠,心中相当的不满,暗中写信给刘备要弃暗投明。刘备来者不拒趁机拉拢,于是马超找个空当就离开了张鲁,借道武都逃往蜀中。刘备命令他带人马屯于成都的北边。刘璋等人突然看到马超的旗号,惊恐万状,终于溃不成军。刘备围成都几十天后,派简雍入城劝说刘璋投降。这时的成都还有三万大军,粮草也还可以支持一年,刘璋的部下纷纷表示要死战保卫这位刘益州。然而,这时的刘璋已经失去了抵抗的信念:“我父子在益州二十多年,没有什么功德能给与百姓。如今招致了三年的兵荒马乱,天府之国的农田里居然都长满了青草,都是因为我的一念之差。我怎能心安理得。”于是,在手下的一片痛哭声中,开城投降。刘备这回不再推荐他当什么镇西大将军,只给他了一个振威将军的头衔后,并把他送刘璋到荆州的公安"养老"。
进成都后,刘备慰劳士卒,取出蜀中的金银封赏有功的人员,但并不擅取民间的粮食布匹。刘备提拔了一批蜀中本地的官员,终于见到了他仰慕已久的刘巴(注1)。蜀中各地,唯有黄权等到刘璋投降后才放弃抵抗投降,刘备也不介意。董和黄权李严等,是刘璋器重的名士;吴懿费观等,是刘璋的亲戚;彭羕,是刘璋所厌恶的家伙;刘巴,是刘备以前怨恨不已的“混蛋”;刘备全都尽其所能加以委任。益州终于有了安定团结的政治局面。然而,这些人中有个家伙却鹤立鸡群,得不到刘备的赏识,他就是成都被围攻时逃命投降的蜀郡太守许靖。法正看在过去的交情,以千金买骨的道理来为许靖说好话:“他虽然没什么实际才干,但颇有名望。主公您刚刚开创大业,对这样的人还是应该加以礼敬来获得人望。”刘备这才勉强聘用了这位许靖。