说新法不方便的秦国百姓又有来说法令方便的,卫鞅说:“这都是扰乱教化的人”,于是把他们全部迁到边疆去。此后,百姓再没人敢议论新法了。
于是卫鞅被任命为大良造。率领着军队围攻魏国安邑,使他们屈服投降。过了三年,秦国在咸阳建筑宫廷城阙,把国都从雍地迁到咸阳。下令禁止百姓父子兄弟同居一室。把零星的乡镇村庄合并成县,设置了县令、县丞,总共合并划分为三十一个县。废除井田重新划分田塍的界线,鼓励开垦荒地,而使赋税平衡。统一全国的度量衡制度。施行了四年,公子虔又犯了新法,被判处劓刑。过了五年,秦国富强,周天子把祭肉赐给秦孝公,各国诸侯都来祝贺。
第二年,齐国军队在马陵打败魏军,俘虏了魏国的太子申,射杀将军庞涓。下一年,卫鞅劝孝公说:“秦和魏的关系,就象人得了心腹疾病,不是魏兼并了秦国,就是秦国吞并了魏国。为什么要这样说呢?魏国地处山岭险要的西部,建都安邑,与秦国以黄河为界而独立据有崤山以东的地利。形势有利就向西进犯秦国,没利时就向东扩展领地。如今凭借大王圣明贤能,秦国才繁荣昌盛。而魏国往年被齐国打得大败,诸侯们都背叛了他,可以趁此良机攻打魏国。魏国抵挡不住秦国,必然要向东撤退。一向东撤退,秦国就占据了黄河和崤山险固的地势,向东就可以控制各国诸侯,这可是统一天下的帝王伟业啊!”孝公认为说得对。就派卫鞅率领军队攻打魏国。魏国派公子卬领兵迎击。两军相拒对峙,卫鞅派人给魏将公子卬送来一封信,写道:“我当初与公子相处的很快乐,如今你我成了敌对两国的将领,不忍心相互攻击,可以与公子当面相见,订立盟约,痛痛快快地喝几杯然后各自撤兵,让秦魏两国相安无事。”魏公子卬认为卫鞅说的对。会盟结束,喝酒,而卫鞅埋伏下的士兵突然袭击并俘虏了魏公子卬,趁机攻打他的军队,彻底打垮了魏军后,押着公子卬班师回国。魏惠王的军队多次被齐、秦击溃,国内空虚,一天比一天消弱,害怕了,就派使者割让河西地区奉献给秦国做为媾和的条件。魏国就离开安邑,迁都大梁。梁惠王后悔地说:“我真后悔当初没采纳公叔座的意见啊。”卫鞅打败魏军回来以后,秦孝公把于、商十五个邑封给了他,封号叫做商君。