行令王恢担任将屯将军,太中大夫李息担任材官将军,御史大夫韩安国担任护军将军,由御史大夫韩安国统领诸将军。诸位将军已约定好,只等单于骑兵进入马邑城,公孙贺将军便率领伏兵攻击匈奴骑兵。李广、王恢、李息率伏兵出代郡,夺取匈奴的军用物资。
当单于率领匈奴骑兵进入汉长城武州塞,距离马邑城还有一百多里,将要劫掠时,单于感觉有点不对劲,只看见牲畜放养在荒野之处,却看不到一个人。单于觉得这里面一定有问题,为了弄清楚这是什么原因,单于下令攻打烽火台,俘虏了看守烽火台的尉史。单于刑训逼问尉史,尉史熬不住,只好说:汉军有几十万人马埋伏在马邑城下。
单于回过头来对左右说:我们差点就上了汉朝的当。
单于赶紧调整部队,率领匈奴骑撤了回去。
等到塞下传来消息说单于已经退兵回去了,汉军追到边塞,匈奴骑兵已没了踪影,估计追不上了,就只好退回来了。王恢率领的三万军士,听说单于没有跟汉军交战,王恢不敢轻举妄动,如果与匈奴的骑兵碰上,汉军一定会损失惨重。为了避免汉军损失,王恢决定撤军。
汉武帝对王恢不攻击匈奴的后勤部队,而擅自领兵撤回来非常不满意。王恢辩解说:当初起兵时约定好的,匈奴一旦进入马邑城,汉军的伏兵就会攻击匈奴的骑兵,而后我的部队才夺取匈奴的军用物资,才能有利可图。可现在还不知道单于是怎么知道我汉朝设有伏兵,十万大军还没有到马邑城,就撤回去了,这使得我很是疑惑。
匈奴骑兵没有受到重创,我怎么敢率三万军士去夺匈奴的军用物资。去了一定是全军覆没,这样做损失可就大了。我知道这样做,可能被杀头。但这样做可保全陛下的三万将士。我权衡利弊,宁可自己被治罪,也要保全陛下的三万将士。
汉武帝把王恢交给廷尉审判,廷尉判他避敌观望,贻误战机,应当处以死刑。王恢为了保命,暗中贿赂田蚡一千金。田蚡不敢直接对汉武帝说,就向王太后说道:王恢首先提议马邑诱敌之计,虽然没有成功,也不应该处以死刑,今天要是杀了王恢,就等于替匈奴报仇了。
皇帝朝见王太后时,王太后就把丞相的话告诉皇帝。皇帝说:首先提出这次计划的人是王恢,朝廷