刘备在军师庞统辅佐下,率领黄忠、魏延要取西川,不料攻打雒城时,庞统误中埋伏,被张任乱箭射死在落凤坡。
前进受阻,后退无路,刘备被困于涪水关,孔明得知,亲自与张飞各率一军,从荆州出发,来助刘备夺取西川。
孔明走水路、张飞走旱路,两军并进,张飞来至巴郡,巴郡守将是老将军严颜,张飞施展妙计,智擒严颜,然后感念严颜的忠义,亲自为他解绑,严颜也就降了张飞。
严颜是刘璋部下很有威望的老将,在他的宣召下,张飞在接下来开往涪水关的路上,蜀中守将望风而降、无一抵抗,张飞领先孔明到达涪水关。
孔明、张飞一到,刘备实力大增,孔明略施小计,即生擒张任、打下雒城,张任宁死不降,刘备不得已杀了他。
雒城既下,下一个城池是绵竹,绵竹守将是费观、李严,孔明先擒下李严,李严投降,并说服费观投了刘备,于是绵竹也被攻下。
刘璋眼看大势已去,于是投降了刘备,至此,刘备成了新的成都之主,西川尽归其有。
这里面有个插曲:马超自在渭水败于曹操,逃到陇西,在此称王称霸,唯有在冀城被杨阜、姜叙、夏侯渊等杀败,不得已投奔了汉中张鲁。
刘璋被刘备攻打未投降时曾求救于张鲁,马超主动请缨来救刘璋,不想孔明施反间计,令马超战不能胜、退不能容于张鲁,权衡利弊,只好降了刘备。
刘备坐拥荆州、西川,“五虎将”(关、张、赵云、黄忠、马超)齐聚,形势一片大好。