公元前340年,公孙鞅对秦孝公说:“秦国与魏国的关系,互为心腹大患,不是魏国吞并秦国,就是秦国攻占魏国。为什么呢?魏国东面是险峰山岭,建都于安邑城,与秦国以黄河为界,独享崤山以东的地利。它强盛时便向西侵入秦国,窘困时便向东收缩自保。现在秦国在您的贤明领导下,国势渐强;而魏国去年大败于齐国,各国都背弃了与它的盟约,我们可以乘此时攻伐魏国。魏国无法抵抗,只能向东迁徙。那时秦国据有黄河、崤山的险要,向东可以制服各诸侯国,就奠定了称王称霸的宏伟大业。”秦孝公认为很对,派公孙鞅率兵攻打魏国。魏国也派公子卬为将军前来抵抗。
两军对垒,公孙鞅派人送信给公子卬,写道:“当年我与公子您交情很好,现在都成为两军大将,不忍心互相攻杀。我们可以见面互相起誓结盟,畅饮之后罢兵回国,以使秦国、魏国的百姓安心。”公子卬信以为真,便前来赴会。两方盟誓已毕,正饮酒时,公孙鞅事先埋伏下的甲士冲出来,俘虏了公子卬,又乘势攻击魏军,使其大败。
魏惠王闻知败讯,十分惊恐,派人向秦国献出河西一带的地方以求和。接着便迁都到大梁。这时才叹息说:“我真后悔当年不听公叔痤的话杀掉公孙鞅!”
卫(公孙)鞅因功被封于商原(名邬,改名为商,今陕西商县商洛镇),故称卫鞅为商鞅(商君)。