当初,惠施主张“合齐、楚以按兵”。到了魏惠王后元十年,齐、魏击败赵国以后,魏国又与韩、赵、楚修复关系。同年,魏惠王和韩威侯在巫沙会盟相王,会后一同并带太子入朝于赵;过后不久,使魏太子嗣入质于齐,使魏公子高入质于楚。这样,魏与韩、赵、齐、楚五国友好的态势就形成了。
合纵趋势的出现,引起了秦国的高度警觉。为防止齐楚魏合纵对秦国带来的威胁,张仪软硬兼施,极力破坏公孙衍的合纵策略。魏惠王后元十一年,他亲自率兵攻取魏的陕,作为进攻中原的基地,同时筑上郡塞,巩固上郡的防守,欲迫使魏国依附秦国。魏惠王后元十二年,又与齐楚两国大臣举行蘖桑会盟,拉拢齐楚,从而破解了三国合纵。在这种形势下,公孙衍为了合纵,于魏惠王后元十二年拉拢韩、赵、燕、中山四国,发起了“五国相王”。
五国相王主要讲的就是魏、赵、韩、燕、中山五国君主相互称王的事件。秦惠文君继魏、齐之后自称王。同年,魏惠王为拉拢韩国而尊韩威侯为王,即韩宣惠王。魏惠王、韩宣惠王带了太子入朝于赵,和赵交好关系。齐国对赵不满,派田朌率军攻赵,获胜。见到齐国势力强盛,魏惠王屈节请求和齐威王和会。魏惠王、韩宣惠王和齐威王会于平阿,翌年,魏惠王和齐威王会于甄。为对付秦的连横策略,出任魏将的公孙衍于前发起“五国相王”,请魏、韩、赵、燕、中山相互称王,其目的是贯彻合纵的策略,试图以此联合五国的力量与秦、齐、楚等大国对抗。从这年起,赵、燕、中山三国君主开始称王。大国对“五国相王”取敌视态度,齐国曾以中山国小为借口,欲联合魏、赵、燕三国迫使中山君废除王号,但没有成功。从这年起,赵、燕、中山三国也开始称王了。公孙衍发起“五国相王”,是想要联合各国,与秦国对抗,但效果不佳。
同年,楚国为了迫使魏国依附楚国,要废立魏的太子嗣,送立流亡在楚的魏公子高为太子,派昭阳打败魏军于襄陵,取得了八个邑。一说楚魏襄陵之战的魏军主将即公孙衍;另一说同时齐军也伐魏,公孙衍在承匡不敌齐军。这时韩国也趁机攻打魏国,公孙衍派人说服其退兵。至此,五国君主虽互相称王,但是合纵抗秦的初衷却没有达成。
魏惠王后元十三年,魏惠王由于惠施、公孙衍合纵策略的失败,不得不改用张仪的连横策略,改任张仪为魏国相邦。张仪把惠施逐走,
此时张仪实际上并相秦、魏,从而进一步推行他的连横策略,“欲令魏先事秦而诸侯效之”。魏惠王却不肯听张仪而专一“事秦”,反而兼用公孙衍为将,欲牵制平衡朝中的合纵连横势力。秦王得知后,怒而攻取魏的曲沃、平周,迫使魏国屈服。张仪的同党史举谗害公孙衍,公孙衍设计逐走了他。魏惠王后元十四年,齐国约结燕、赵、楚孤立魏国,因公孙衍的离间而失败。魏惠王后元十五年,秦国假道韩、魏向齐国进攻,齐威王派匡章应战,结果齐军大胜,秦军大败,是为桑丘之战。这次战役使张仪“以秦韩与魏之势伐齐”的行动受到挫折,使公孙衍合纵的策略得以开展。魏惠王后元十六年,由于齐、楚两国要求驱逐张仪,加上魏国也派出使者到楚、赵、燕等国游说,争取合纵,于是张仪回秦,惠施回魏,公孙衍升任魏国相国。同年,稍后,魏惠王去世。继位的魏襄王期望通过合纵,夺回被秦国侵占的河西、河东之地。
公孙衍出任魏国相邦之后,再度出使齐国,说服诸国与魏国合纵抗秦。魏襄王元年,魏、赵、韩、燕、楚五国便推举楚怀王为纵长,发动“五国攻秦”。除东方各国外,公孙衍还将秦国西方的小国义渠,也拉进了合纵伐秦同盟。公孙衍告诉义渠君,秦国和东方各国交战时,就会奉上重礼讨好义渠。与各国和平时,就会掠夺义渠。他希望义渠国君警惕这一点,不要被秦国所蒙蔽。后来,五国伐秦时,秦惠文王献上“文绣千匹、好女百人”与义渠修好。义渠君果如公孙衍所言,趁机发兵攻打秦国,在李帛大破秦军。这一次虽然名为五国攻秦,但实际在函谷关一路先行与秦国交战的,只有韩、赵、魏三国。秦出兵反击,结果联军战败,魏国有半数伤亡,损失惨重。魏国因此转而向秦国请求讲和,于是五国纷纷退兵。
次年,即魏襄王二年,秦国派樗里疾乘胜攻打韩国,在修鱼击败韩、赵联军,斩首八万余。同时齐国也与宋国一起也进攻魏国,在观泽击败魏、赵联军。“五国伐秦”宣告失败。魏襄王二年,公孙衍发动五国合纵攻秦失败后,魏襄王为争取齐国支持,重用客卿田需。田需与公孙衍不和。当时公孙衍与大臣张寿有宿怨,田需就暗中刺杀了张寿,让魏襄王以为是公孙衍所为,责备公孙衍。
魏襄王因听信田需的谗言,不再信任公孙衍。于是公孙衍只能离开魏国、准备到韩国去。临行前,他说服魏襄王请齐国公子田文来魏国当相邦,随后自己去韩国当了相邦。这样,公孙衍为韩国相邦,田文为魏国相邦,而且取得齐国国相田婴的支持,合纵的形势又好转了。公孙衍可说是合纵的首创者,田文是公孙衍的合作者和继任者,就是从参与这次合纵开始的。但是这次合纵却没有取得什么成就。韩宣惠王十八年,秦向韩的中原地区进攻,战于浊泽。主张和秦连横的韩国大臣公仲朋,建议割地讲和,与秦国一起伐楚。楚怀王听到这个消息,则听从谋士陈轸的建议,佯装出兵救韩。韩王信以为真,取消了入秦求和的计划。秦王大怒,下令向韩国发起更加猛烈的进攻。两军相持一年多,至韩宣惠王十九年,楚的救兵不到,秦大败韩军于岸门。这是公孙衍合纵的又一次大败,打得他临阵逃走了,这一次次的受挫,