汉宁太守张鲁,听说曹操新近杀了西凉太守马腾,打败了他的儿子马超,收降了韩遂,怕曹操乘胜来取汉中,便召集部下商议。阎圃说:“西川地方大,人口多,粮食足,刘璋又是个没用的人,不如进攻西川,以西川作根据地,就不怕曹操了。”张鲁同意,立即和弟弟张卫商议起兵进攻西川。
西川益州牧刘璋,听说张鲁要来攻打西川,非常担忧,忙找部下商量。张松说:“曹操扫荡中原,吕布、袁绍、袁术都被他消灭,新近又破马超,所向无敌。主公可备进献的礼物,我亲自到许昌,说服曹操去攻打张鲁,使张鲁自顾不暇,便不敢进攻西川了。”刘璋非常高兴,立即准备好金珠绸缎等礼物,让张松带到许昌。
张松暗里画下西川地图藏在身边,动身出发。张松到许昌的事,早有人报告荆州。诸葛亮连忙派人到许昌打听消息。张松见了曹操,因为说话不讲究方式,又因面貌生得丑陋,曹操深为不满,竟教人用乱棒打了出来。
张松连夜离开许昌,非常气愤,心想:“我本想献出西川给曹操,谁想他这样待人。我出来时,在刘璋面前说下大话,如今空手无成,岂不要被西川人耻笑。听说荆州刘备很讲仁义,不如去那边试试。”于是乘马向荆州进发,到了郢州界口,见有一队兵马迎接,为首一员大将便是赵云。
赵云说:“因大夫远路奔走辛苦,我家主公刘玄德特命我聊献薄酒粗食。”说毕,便亲自送上酒食。张松暗想:“人说刘玄德宽仁爱客,的确不假。”喝了几杯酒,就和赵云上马同行。来到荆州界口,被邀到宾馆里歇宿。宾馆门前,竟有一百多人在旁侍立,为首大将,正是关羽。张松下马和关羽同进馆驿。赵云和关羽摆开筵席,对张松殷勤劝酒,一直到夜深,才吃喝完毕。
第二天,张松上马走不到三五里路,只见刘备带了诸葛亮、庞统亲自来接。进荆州城后,又被刘备请去吃酒,席间只说闲话,并不提西川的事。张松故意问:“现在皇叔除荆州以外,还有几郡?”诸葛亮说:“荆州也还是向东吴借的,东吴常常派人来讨。因为我们主公是东吴的女婿,所以能暂且安身。”刘备接连留张松吃了三天酒,始终不提起西川一个字。张松辞别回川,刘备在十里长亭送行。
张松见刘备流下眼泪相送,心里不由想:“刘备这样宽仁爱才,不如教他来取西川。”于是对刘备说:“我看荆州,东有孙权,北有曹操,常常想来攻打,这地方不可以久守。西川地方大,人口多,粮食又足,地势又险要,这里有学问的人,对你都很仰慕。如果皇叔起兵取得西川,便可以成大事,有一番作为。”
刘备说:“我怎么敢当?刘璋统治西川已久,别人怎能去占他的地盘?”张松说:“有何不可?在阁下感召下,我不能不说实话。刘璋虽然有西川这样的好地方,但软弱无能,又不肯任用有才能的人……我这次远行,本想把西川献给曹操,可是他骄傲自大,看不起人。所以我特来拜见明公。如果你有取西川的意思,我愿作为内应,不知你意下如何?”
刘备说:“无奈刘璋和我同宗,若攻他,怕天下人唾骂。同时,西川路很难走,教我怎么个取法?”张松就在衣袖里取出西川地图,交给刘备说,“看此图,就知道西川道路了。”又补充说:“我有两个好友,一叫法正,一叫孟达,他两个一定可以帮助你。如果这两个人到荆州来,阁下可以同他们开诚相见,同议大事。”刘备看了地图,谢了张松。张松离开时,诸葛亮吩咐关羽、赵云等一直送到十几里路以外。
张松回到益州,先见了法正、孟达,把实情说了,这二人也表示同意。第二天,张松才去回报刘璋,故意吓唬刘璋说:“曹操有攻打西川的意思。”刘璋说:“这便怎么办?”张松说:“我有一计,可以使张鲁、曹操不敢轻易进犯西川。”刘璋问:“什么计?”张松说:“荆州刘皇叔,和主公同宗,仁慈厚道,赤壁一战之后,曹操听了他的名字都要害怕,何况张鲁。主公可派人去和他结好,使他做我们的外援,这样就不怕曹操、张鲁了。”
刘璋同意了,便问:“谁可以到荆州去完成这一使命?”张松保荐法正、孟达。刘璋把二人叫来,写了一封信,先教法正到荆州去见刘备,然后派孟达领精兵五千去迎接刘备入川。
法正来到荆州,见了刘备,呈上书信。刘备看了,非常高兴,叫摆酒席款待。吃酒时,刘备叫随从人员都走开,秘密试探法正口气。法正说:“刘璋这人太庸弱无能,西川早晚守不住,你不去取,别人也要去攻打,还是你拿下的好。如果你有此决心,我愿以死报效。”
晚上,刘备以此事请教庞统。庞统说:“事情当决而不决,是傻瓜。主公不必再多虑了。”刘备再把诸葛亮请来商量,诸葛亮也同意拿下西川,于是刘备打定了主意。诸葛亮说:“荆州重地,必须分兵防守。”刘备就让诸葛亮总守荆州,关羽、张飞、赵云各守住要路,听诸葛亮调遣。自己和庞统、黄忠、魏延等带领大队人马去西川,随即命令黄忠为先锋,魏延做后军,自己和刘封、关平督领中军,庞统为军师,带马步兵五万,向西川进发。
蜀军初战失利,庞统战死,刘备急调张飞前来助战。张飞不费什么气力,接连拿下四十五处关隘,顺利地到达雒城。
张飞见了刘备,就配合黄忠、魏延等与西川兵再战。这时,赵云也已来到,他们生擒了吴懿,招降了吴兰、雷同,进帐来见刘备。诸葛亮到时,见张飞比他先到,非常奇怪,问起缘由,张飞把设计捉严颜的情况如实讲了。诸葛亮连忙向刘备道贺说:“张将军会用计策,这真是主公的洪福。”
刘备见吴懿被捉,问他降与不降。吴懿表示:“既被捉来,为何不降?”于是也投降了。吴懿说:“城中一共有三员将领。刘璋的儿子刘循,副将刘琐、张任。刘循、刘琐不要紧,张任是西川有名的将领,极有胆略,不可轻敌。”诸葛亮于是打定主意:先捉张任,后破雒城。
诸葛亮先到金雁桥边看了一下地势,然后给各将领分派任务:命令黄忠、魏延各带兵一千埋伏在金雁桥南边芦苇丛里,张任来时,黄忠部下专砍马脚,魏延率兵专刺马上将领;教张飞率领一千兵马在山东边小路上埋伏,张任来时,就想办法捉住。又教赵云埋伏在金雁桥北面,等张任过桥,便把桥拆了,并故意虚张声势,使张任不敢往北而向南走,以便引他中计。
分派完毕,诸葛亮便亲自去前方诱敌。张任见诸葛亮坐着四轮车,带着一队不整齐的人马,很是轻视,便紧紧追赶过来。诸葛亮下车逃走,张任追过了金雁桥,果然中计,被张飞捉住,押解到金雁桥边。诸葛亮接着又令严颜、吴懿等去雒城前喊叫,要刘琐等投降。刘琐不降,还准备战斗,张翼杀了刘琐,打开城门投降。刘璋的儿子刘循则从西门逃回成都。
刘备和诸葛亮不久又商议如何攻打绵竹。法正说:“不必多虑,雒城既然破了,西川就是囊中之物了。主公以仁义服人,最好少动兵。等我写一封信给刘璋,说明利害,他自然肯投降。”诸葛亮同意这一主张,便让法正写信,派人送到成都。刘璋早得到刘循的报告,说刘备杀了张任,攻下雒城,见法正写信前来,气得把信撕得粉碎,并把来人赶出成都。
为了加强防备,刘璋立即命令妻弟费观配合李严带领三万兵马把守绵竹。益州太守董和劝刘璋向张鲁求救。刘璋说:“张鲁和我一向有仇,怎肯相救?”董和说:“西川亡,东川也难保,若和他说明利害,一定肯出兵相救。”刘璋依从,便写信派人到汉中去见张鲁。
马超自从被曹操打败,逃到羌族居住地区,两年有余。后来在冀州一战,又被曹操打败,便到汉中投奔张鲁。张鲁爱马超骁勇,便收留下来。刘璋来求张鲁救助时,马超自告奋勇,愿去攻打刘备。张鲁大喜,立即调拨兵马两万,教大将杨柏监军,和马超一同去攻葭萌关。守葭萌关的孟达、霍峻,抵挡不住,派人向刘备告急。诸葛亮说:“须是张飞、赵云,才能敌得住马超。”正说着,张飞大叫着进来:“我来向哥哥请令,去战马超。”刘备于是便任命魏延做先锋,张飞居中,自己在后面督军,到葭萌关去迎战马超。
到了葭萌关,张飞和马超连战一天一夜,不分胜败。第二天,诸葛亮来到,立即表示:“马超是员虎将,和翼德死战,必有一伤,等我用个计策,使马超归降。”于是先派人送贿赂去买通张鲁部下官员杨松,然后写信给张鲁,教他不要替刘璋出力,并答应攻下西川之后,保荐他当汉宁王,要他撤回马超兵马。
张鲁接到诸葛亮的信,便召集部下商议。杨松说:“既然刘备保荐主公当汉宁王,可以考虑让马超回师。”张鲁大喜,立即派人叫马超撤兵。马超因为没有攻下葭萌关,不同意照办。杨松便放谣言,说马超想夺下西川,自立为王。张鲁果然起了疑心,立即派兵把守各处关口,防止马超兵变。同时还限定马超一个月内做到下面三件事:一、攻下西川;二、把刘璋的头拿来;三、打退刘备兵马。弄得马超进退不得。正在这时,诸葛亮派李恢去劝马超投降,马超只好表示同意。
在这前后,绵竹也被刘备部将攻了下来。李严、费观等都已投降,于是,刘备、诸葛亮便集中力量进兵攻打成都。刘璋知道没法抵抗,只好开门投降。刘备教刘璋前往荆州,自己做了益州牧,大封功臣,所有投降的刘璋部下官员,一概录用。