由于历史上关于公孙衍的生卒年并没有不详,只知道他是战国时期魏国阴晋人。年轻的时候就从魏国跑到秦国参军,并且在后来秦国攻打魏国的战斗中立下过大功,在之后的秦国攻打韩国宜阳的时候,再次立下大功,开始正式在秦国崭露头角。公孙衍后来进攻魏国雕阴的时候,直接击败了魏将龙贾率领的军队,借此得到秦惠文王的重视并获得军功最高级别的爵位大良造,占领了不少魏国地盘,就连公孙衍的家乡都被划分到了秦国当中。
公孙衍当时很有希望成为下一任秦国相邦,可惜在相邦樛游去世了,被秦惠文王看重的张仪成为了新一任相邦。此时的公孙衍倍感失望,选择了投奔魏国并得到魏王的重用。之后前往燕国、赵国以及齐国的时候同样受到这三个国家的重视,负责担任这三个国家的相邦事务。
面对张仪实行的连横之道,其余六国基本都开始动摇了联合的想法。毕竟六国有强有弱,各个国家都存在一些私心,在张仪的连横之道跟游说下,基本处于分崩离析的地步。面对不断侵略的秦军,各国在危难关头的时候,公孙衍很快就站了出来,并佩五国佩印,成为张仪连横策略的一个重要对手。
等到秦武王继承王位之后,面对张仪的连横策略并不感兴趣,他自然就失去宠信。由于张仪掌权的时候得罪过不少官员,担心自己失势后遭到报复,直接逃到魏国担任相国。在魏国才当了一年多的相国就去世了、就在张仪去世后不久,公孙衍再次回到了魏国。可以魏国朝廷当时勾心斗角,公孙衍得罪了不少人,最后落得被魏王误杀的下场。