汉高帝七年(公元前200 年),高祖亲自率领军队进击韩王信,在铜鞮县把韩王信的军队打败,韩王信逃亡投奔匈奴。白土县人曼丘臣、王黄等人立赵国的后裔赵利为王,又收集韩王信溃败的散兵,与韩王信及匈奴联合,打算进攻汉军。
匈奴派了左、右贤王率领一万多骑兵,与王黄等人驻屯在广武县以南,直到晋阳。在汉军的攻击下,匈奴失败逃走,不久又相聚,汉军乘胜追击。当时天气十分寒冷,大雪纷飞,士卒有十分之二三冻掉了手指。高祖在晋阳驻扎,听说冒顿军驻在代谷,便想去进攻他。先派人去窥视匈奴军的动静,冒顿埋伏了他的壮士及肥壮的牛马,只留老弱的牧民及瘦弱的牲畜在外面。派出去探察的十个使者回来,都说可以去攻击匈奴。高祖又派刘敬去出使匈奴,还没等他回来,汉军三十二万人便已全部出动向北去追击匈奴,越过了句注山。刘敬回来后,报告说:“两国交战,本来应该炫耀自己的实力,显示自己军队的长处。如今我前往匈奴,只看到瘦弱的牲畜,老弱的牧民,这一定是匈奴想显现短处,埋伏了精兵以图战争胜利。我认为不可去攻击匈奴。”这时,汉军已经出发,高祖发怒,谩骂刘敬说:“你这个齐地奴虏,靠着能说会道做了官,如今却胡说八道来使我的军队丧气!”便把刘敬囚禁于广武县。
高祖先来到平城,军队还没有全部赶到,冒顿发动精锐骑兵四十万人,在白登台包围高祖七天,汉军内外不能相救援、粮饷断绝。高祖用了陈平的秘密计谋,派出使者暗中给匈奴阏氏送了丰厚的财物。阏氏对冒顿说:“两国君主不相围困。现在即使占领了汉朝的土地,而单于你也终究不能居住啊。况且汉朝君主也有神灵保佑,单于你要三思。”加上冒顿原来与王黄、赵利约定会师,而王黄、赵利的军队迟迟不到,冒顿怀疑他们与汉军有密谋,于是撤除了包围圈一角。恰逢天起大雾,汉军派人内外来往,匈奴也没有发觉。陈平命令强弩齐射,从解围的一角边射边往外冲,冲出了包围。到了平城,汉朝的大军也已到达,匈奴骑兵便解围而去。
高祖到了广武,赦免了刘敬,说:“我不听用你的话, 以致在平城被围困。我已经把在你之前出使匈奴的那十个人杀死了!”于是封给刘敬食邑二千户,封为关内侯,称号为建信侯。高祖南行,经过曲逆县,说:“多么壮观的县啊!我巡行天下,只看到洛阳与这个县壮观。” 于是封陈平为曲逆侯,把这个县全部作为他的食邑。陈平随从高祖征战,共出了六次奇计,每次都增加了封邑。
十二月,高祖返回时,经过赵国,赵王张敖十分谦卑,高祖伸着两脚而坐谩骂张敖。赵国相贯高、赵午等人都很忿怒,说:“我们的赵王真是懦弱。”于是对赵王说:“天下豪杰相继起事,有能力的人先立为王。现在你事奉皇上十分恭敬,而高祖却傲慢无礼,我们请求替你杀了皇上!”张敖咬破手指淌出血,说:“你们为什么说出这样的错话!我的先人亡了国,依靠皇上才得以重建赵国,一丝一毫都是皇上的功德啊。希望你们不再说这样的话!”