汉武帝初,对匈奴仍实行“和亲”政策,且厚待匈奴,互通关市,赠送给他们丰厚的财物。匈奴从单于以下的人都亲近汉朝,在长城下来来往往。但匈奴骚扰汉边之事,也时有发生。随着西汉国力日益强大,汉武帝开始考虑改变对匈奴的政策。建元六年(前135),匈奴前来请求“和亲”,武帝就让大臣们商议是否同意。“习胡事”的大行令王恢认为:“汉与匈奴和亲,率不过数岁,(匈奴)即复倍(背)约;不如勿许,兴兵击之。”但群臣多以为“此危道也,不如和亲”。最后,武帝还是同意与匈奴继续“和亲”。
元光二年(前133),雁门郡马邑富商聂壹(三国张辽祖先),让大行令王恢传话给天子:“匈奴刚与汉和亲,亲信我们。我们可以利引诱他们前来,伏兵袭击,此乃必破匈奴的办法。”武帝召见公卿询问意见。王恢说:“臣闻全代(代国完整)之时,北有强胡之敌,内连中国之兵,然尚得养老长幼,种树以时,仓禀常实,匈奴不轻侵也。今以陛下之威,海内为一;然匈奴侵盗不已者,无它,以不恐之故耳……现边境数次传来匈奴进攻警报,士卒伤死,中国境内槥车相望,此仁人痛心之事。故曰击之便。”王恢还针对孔安国等大臣“卷甲轻举,深入长驱,难以为功”论调进一步阐述:“臣今言击之者,固非发军长驱直入,攻击对方也;将顺因单于之欲,诱其至边境,吾选枭骑、壮士阴伏而处以为之备,审遮险阻以为其戒。吾势已定,或营其左,或营其右,或当其前,或绝其后,单于可擒,百全必取。”武帝接受了王恢的建议。
是年六月,武帝任命御史大夫韩安国为护军将军,卫尉李广为骁骑将军,太仆公孙贺为轻车将军,大行令王恢为将屯将军,太中大夫李息为材官将军,统率车驾骑兵、有才智的军官将士共30余万人,隐藏在马邑旁边的山谷中,约定单于进入马邑后即纵兵进攻。聂壹暗中受汉廷之命做间谍,“逃亡”入匈奴,对单于说:“吾能斩马邑令、丞,以城降,财物可尽得。”贪爱财物的单于相信了聂壹的话,并准允了他的要求。聂壹回马邑后,请示官府杀了几个死囚犯,并把他们的头颅悬挂在马邑城门上,向单于使者表示守信。聂壹告诉使者:“马邑长吏已死,可急来。”单于得悉后,即率领十万兵马进入武州塞(今左云境内)。在距离马邑50公里的地方,单于看见牲畜布满原野却没有人放牧,感到十分奇怪,就转而进攻附近的路亭,俘虏了雁门尉史。尉史惧怕被杀,供出汉有伏兵。单于很恐慌地说:“吾固疑之……吾得尉史,天也!”匈奴军队迅速撤退,单于还封尉史为天王。边塞附近都传说单于已经北返,汉军一直追至长城边,料想难以追到,罢兵归来。王恢本主张另外从代地出兵袭击匈奴的辎重车,但听说单于远去,士卒又众多,所以也不敢追击。
武帝很生王恢的气。王恢辩解:“始,约为入马邑城,兵与单于接,而臣击其辎重,可得利。今单于不至而还,臣以三万人众不敌,只取辱。固知还而斩,然完陛下士三万人。”武帝把王恢交给廷尉论处。廷尉判:“恢逗留观望,徘徊不前,当斩。”王恢送千金给丞相田蚡,要他替己向皇上说情。田蚡不敢对皇帝说,只对太后言:“王恢首为马邑事,今不成而诛恢,是为匈奴报仇也。”武帝朝见太后时,太后把田蚡的话告诉了他。武帝说:“首为马邑事者恢,故发天下兵数十万,从其言为此。且纵单于不可得,恢所部击其辎重,犹颇可得以慰士大夫心。今不诛恢,无以谢天下。”王恢听到这消息后,自杀身亡。
“马邑之谋”虽以失败告终,但揭开了西汉反击匈奴战争的序幕。
