十批,都报告说匈奴可以攻打。高帝于是又派刘敬出使匈奴,尚未返回,汉军就全部出动兵力三十二万向北追击匈奴,越过了句注山。刘敬回来后报告说:“两国相攻,这本该炫耀显示自己的优势。但现在我到匈奴方面去,只看见瘦弱的牲畜和老弱的士兵,这必定是想要显露自己虚弱不堪,而埋伏奇兵以争取胜利。我认为匈奴不能攻打。”这时候,汉军业已出动,高帝大为恼火,骂刘敬说:“你这个齐国的混蛋伙,不过是靠着耍嘴皮子得到了一官半职,现在竟又来胡言乱语阻挠我的军队前进!”用刑具把刘敬拘禁到广武。
高帝先期抵达平城,军队尚未全部到来。冒顿便发出精兵四十万骑,把高帝围困在白登山达七天之久。汉军这时内外无法呼应救援,高帝于是就采用陈平的秘计,派使者暗中用重金贿赂冒顿的阏氏。阏氏随即便对冒顿说:“两个君主不应彼此困窘迫害。如今即使夺得了汉朝的土地,单于您也终究不能居住在那里。况且汉朝的君主也有神灵保护,望您明察!”冒顿与王黄、赵利约定好时间会师,但王黄、赵利的军队却迟迟不来,由此就怀疑他们与汉军有什么谋划,这才解开包围圈的一角。正好遇到天降大雾,汉军便派人在白登山与平城之间往来走动,匈奴人毫无察觉。陈平这时请求高帝命令士兵们用强弩搭上两支箭,箭朝外御敌,从解围的一角直冲出去。高帝脱出包围后,想要策马疾奔,太仆滕公夏侯婴却坚持慢慢地行走。到了平城时,汉的大队人马也赶到了,匈奴的骑兵便解围而去。汉军于是也收兵返回,命樊哙留下来平定代地。
高帝回到广武,赦免了刘敬,说道:“我不采用您的意见,因此被围困在平城。我已经把先前十多批使者都杀掉了!”接着就封给刘敬二千民户,爵位为关内侯,称作建信侯。高帝回师向南经过曲逆县,说道:“好壮观的县啊!我走遍天下,只见过洛阳和这里罢了。”就改封陈平为曲逆侯,享用全县民户的赋税收入。陈平跟随高帝南征北战,共六次进献妙计,每次都增加了封邑。
十二月,高帝返回长安,途经赵国。赵王张敖对高帝行作为女婿的礼节,十分谦卑,高帝却叉开两腿坐着,态度轻慢地责骂张敖。赵国相国贯高、赵午等人都怒火中烧,说道:“我们的大王,真是个懦弱的王啊!”随即劝赵王说:“天下豪强并起,贤能的人先称王。现在您侍奉皇帝非常恭谨,而皇帝却如此无礼,请让我们替您把他杀了!”张敖咬破自己的手指流出血来,说道:“你们怎么说这种大错特错的话呀!先父亡国后,依赖皇帝才得以复国,德崐泽能流传给子孙,一丝一毫都是皇帝的力量