公元前133年(元光二年)农历六月,汉武帝派遣精兵30万,命护军将军韩安国、骁骑将军李广、轻车将军公孙贺率主力部队埋伏在马邑附近的山谷中。王恢与材官将军李息率3万多人出代郡(今河北省蔚县东北),准备从侧翼袭击匈奴的辎重并断其退路,一举全歼匈奴主力。

为了诱使匈奴出兵,汉朝设了一个计谋:派马邑(今山西朔州)富翁聂壹带上货物,以做买卖为名,跑到匈奴那里,假装投降匈奴,并哄骗匈奴的军臣单于说:“吾能斩马邑令丞,以城降,财物可尽得。”(《汉书-韩安国传》)
军臣单于贪图财物,就轻易的相信了聂壹的话,并约定:聂壹杀死马邑县令后,把头挂在城门上,作为匈奴攻城的信号。
聂壹回到马邑后,把一名死囚的脑袋砍下,挂在城门上,并通知匈奴使者:马邑县令已死,赶快通知单于带兵进城。
军臣单于见大计已成,立即亲率10万骑兵长驱南下 ,一路上也没遇到汉兵的阻挡。当匈奴大军在距离马邑还有百余里的时候,军臣单于看到漫山遍野的马匹,也没有放牧的,才引起怀疑:没有军队,哪会有这么多的马匹?

于是,单于没敢贸然前进,而是原地休息,并派人向前打探。正巧一名雁门尉史办事经过这里,被匈奴俘获。这个尉史对马邑伏击战的计划也略知一二,经匈奴人一威胁,就把情况都说出来了。
军臣单于得知后,如大梦初醒,大吃一惊地说:“我本来就有所怀疑,现在听尉史这么一说,真是天助我也。”单于为了感谢这名汉朝尉史,就封他为天王。然后,军臣单于带领原班人马从原路撤退回去了。
原来计划当马邑伏击战打响后,王恢率三万汉军袭击匈奴的辎重。现在匈奴一点损失也没有,王恢自知依靠自己这3万军队也无法与匈奴的10万精兵交战,所以他也没有带兵去追击匈奴。