下取代张仪成为魏国国相,魏王驱逐张仪回秦,并争取各国合纵对付秦国,同时惠施也回国,合纵形势又形成了。公孙衍发起魏、赵、韩、燕、楚合纵攻秦之举,以楚怀王为纵长,组织联军进攻秦国。公孙衍又游说义渠攻打秦国,配合联军。秦送“文绣千匹,好女百人”给义渠,以缓其威胁,义渠国君认为秦国送厚礼其实是暂时的策略,秦国强大终对义渠不利,便乘五国攻打秦国的机会,出兵袭击,大败秦军于李帛。然而五国并不齐心,真正出兵的只有魏、赵、韩三国,联军攻打函谷关,但是却被秦军击退。
秦国派遣庶长樗里疾率秦军出函谷关反击韩赵魏联军,于修鱼大败赵、韩联军,败赵将赵渴、韩奂,俘虏韩将申差,斩杀联军八万二千人。
前318年,楚国、赵国、魏国、韩国、燕国一起讨伐秦国,秦国出兵击败五国联军。前317年,秦国又在修鱼击败韩国。齐国以三晋都被秦国打败,兴师攻打赵国、魏国两国边境。赵国、魏国在观泽与齐国交战,结果被齐军击败。
周慎靓王五年,蜀王讨伐苴侯。苴侯遂出走巴国。因秦惠文王与巴、蜀有很好的关系,所以巴国请求秦国出兵,秦惠文王派遣张仪、司马错率兵救援苴、巴两国。秦军讨伐蜀国,蜀王兵败退至武阳,为秦军所害。其相及太子皆死于白鹿山。其后,张仪贪巴国与苴国地方富饶,背信弃义顺道向东灭了巴国,俘虏巴王及苴侯返归秦国。巴国及苴国遂皆亡。秦国置巴、蜀、及汉中郡,分其地为四十一县。秦惠文王贬蜀王子弟为侯,以陈庄为蜀相,张若为蜀国守。又封巴王为“君长”;置巴郡,郡治江州。巴、蜀地区遂定,秦国日益富强。
秦国灭亡巴国、蜀国,向西南拓展其领土,达成司马错最初讨伐蜀国的“广地”、“富国”、“强兵”三个目的。此外,秦国亦因此去除出关讨伐六国的后患,巴、蜀两地更成为由西南方讨伐楚国的基础,从水道可通向楚国,对其后的黔中之战与鄢郢之战有极大的影响。
前316年,燕王哙禅位于相国子之,因推动改革造成国内大乱。
前314年,太子平与将军市被反叛,最后被平定,太子平、市被被杀,死者数万。此时齐宣王派匡章率军,五十天内攻破燕国,燕王哙被杀,子之逃亡,后被齐人抓住做成肉酱。不久齐国士兵军纪败坏,燕国各地反抗,赵、魏、韩、楚、秦等国谋救燕国。
前313年,赵武灵王派乐池护送在韩国的燕国公子职回到燕国;同时赵王以河东之地换回部分燕地,使楚、魏等国增加对齐国的