秦国能够占领巴蜀,纯粹是偶然。巴、蜀是两个非常古老的王国,有着自己的文化传统,文明程度很高,国力也很强大。巴、蜀所在的四川、重庆地区多山,入蜀通道以守难攻。楚国、秦国与巴、蜀发生过多次战争,都没有攻入巴、蜀腹地,反而多次被巴、蜀所打败。
蜀国和巴国是西南诸国中最强大的两个国家,经常发生争斗。苴国(今四川昭化)也是西南地区的一个强国,与巴国友好,苴巴经常联合抗蜀。
秦惠文王更元九年(公元前316年),韩国大举进攻秦国。正在这时,苴、蜀两国使者先后到秦。原来,蜀国为了战胜巴国,决定先剪除巴国的党羽苴国。苴国向巴国求救,但巴苴的联军还是被蜀国打败。苴国与秦国签订过防楚联盟的协议,于是向秦国求救。
本来在巴蜀与秦国之间隔着楚国占领的汉中,楚国是一直想攻入巴蜀的,而苴国由于地处进入巴蜀腹地的要道,把守着剑门,首当其冲,与楚国发生多次战斗,结仇很深。此次,苴、巴两国危难,邻国中能够与蜀国一较高低的只有秦、楚。苴侯考虑楚国与自己土地相邻,又一直想吞并自己,求楚无异于引狼入室。而秦国与巴蜀中间隔着楚国的汉中,只有一小部分土地与自己相连,战胜蜀国后势必离去。如果不走,就将陷入巴蜀和楚国汉中郡的包围。因而求秦国是风险最小的。而蜀国派使者入秦,提出与秦结为盟国,目的是为了使秦国不出兵的。
秦惠文王想要趁机灭掉蜀国,却因韩国对秦国的侵略而感到举棋不定。张仪主张先攻打韩国,司马错力排张仪等人的建议,认为打韩国将导致诸侯国再度合纵对付秦国,打蜀国的话既可得其人力物力以充实军备,又可占据有利地势顺水而下攻楚。这个建议被秦惠文王采纳了。后来苴、蜀两国来送礼,看到机会来了,秦惠文王当然不会错过,对苴、蜀两国的要求都答应了,分别收下了两国的厚礼,让两国的使者归国。秦惠文王用两国的礼物与韩国议和后,派张仪、司马错、张若、都尉墨率领秦国的精兵火速入川。秦军很快就通过了苴国把守的剑门,向蜀国的都城成都进发。对于秦军的突然出现,蜀王十分吃惊。对于秦国的不守信用,蜀王十分气愤。于是,蜀王亲自领军与秦军交战。但由于秦军已过剑门天险,气势正盛,蜀王在葭萌(今四川剑阁东北)战败,被秦军杀死。张仪、司马错接着占领成都,蜀国灭亡了。张仪又借苴国与巴国劳军之机,一举灭亡了巴国和苴国。秦国尽收巴蜀之地。张仪和张若还主持修建了新的成都城。由于蜀王室在蜀国还有很大的影响力,于是秦惠文王采用羁縻蜀国的办法,将蜀国降格为侯,任命蜀王的儿子为新的蜀侯,任命张若为蜀相,管理蜀政。同时对待巴国也采用了同样的办法。秦国占领巴蜀后,掉头来痛击韩国。
这时候插在秦国本土和巴蜀之间的楚国汉中郡直接威胁秦国入蜀的要道,成了秦国必须要拔掉的钉子。秦惠文王在公元前312年联合韩魏攻楚的一个重要目的,就是占领汉中。秦惠文王命魏章率领公子疾、甘茂在丹阳(现在的河南西峡以西、丹水以北地区)大败楚军,占领了汉中,解除了楚国对秦国本土和巴蜀的威胁。这样,秦国的关中、汉中、巴蜀连成一大片,秦国对六国形成了居高临下的压迫形势。同时,这一带地区的良好的地理环境也让秦国的粮草问题得到了解决。
由于秦惠文王上任后首要任务是打通秦国通往中原的道路,对手就是近邻的魏国。于是秦惠文王重用知己知彼的公孙衍和张仪,取得了非常好的效果。而且,秦惠文王为了让公孙衍和张仪能发挥出最大的潜能,特地在他们之间有意的制造了一些矛盾,使这两个魏国人成了竞争对手,从秦国国内一直打到了国际舞台上。而楚国人甘茂、异母弟弟公子疾(樗里疾)也是秦惠文王时期的重要人物,后来在秦武王时期还当上了正副首相。