大汉出动全部军队,多半是步兵,共三十二万人,向北追击匈奴。刘邦率先锋部队先到达平城,此时汉朝大军只到了一部分。冒顿单于在白登山设下埋伏,刘邦带领兵马一进入包围圈,冒顿单于马上指挥40万匈奴大军,将刘邦的兵马围困在白登山。当时正赶上天气寒冷,士兵们冻掉手指的有十公之二三,汉军内无粮草、外无援兵,不能相救。
刘邦发现被包围后,组织突围,经过几次激烈战斗,也没有突围出去。之后,冒顿率领骑兵从四面进行围攻:匈奴骑兵西面的是清一色白马,东面是一色青马,北面是一色黑马,南面是一色红马,企图将汉军冲散。厮杀数日,双方损失惨重,却一直相持不下。匈奴围困了七天七夜,也不能击破汉军占领白登。
汉军在被围了七天后,粮食也快吃完了,饥寒交迫,危在旦夕。匈奴在山下扎营,冒顿经常和王后一起骑马出出进进,浅笑低语,情深意笃。陈平看到冒顿单于对新得的王后十分宠爱,朝夕不离。于是陈平向刘邦献计,想从冒顿的王后身上打主意。刘邦采用陈平之计,派遣使臣,乘雾下山向冒顿的王后献上了许多的金银珠宝。当时天降大雾,汉朝派人在白登山和平城之间往来,匈奴一点也没有察觉。
于是匈奴王后就对冒顿单于说:“军中得到消息说,汉朝有几十万大军前来救援,只怕明天就会赶到了。”单于问:“有这样的事?”阏氏回答说:“汉、匈两主不应该互相逼迫得太厉害,现在汉朝皇帝被困在山上,汉人怎么肯就此罢休?自然会拼命相救的。就算你打败了他们,夺取了他们的城地,也可能会因水土不服,无法长住。万一灭不了汉帝,等救兵一到,内外夹攻,那样我们就不能共享安乐了。”冒顿单于笑问:“那怎么办呢?”王后说:“汉帝被围了七天,军中没有什么慌乱,想必是有神灵在相助,虽有危险但最终会平安无事的。你又何必违背天意?”
冒顿单于本来与韩信(韩王信)的部下王黄和赵利约定了会师的日期,但他们的军队没有按时前来,冒顿单于怀疑他们同汉军有勾结。又想到汉军大部队赶到之后自己无力抵挡,就采纳了王后的建议。于是匈奴打开包围圈的一角,让汉军撤出。护军中尉陈平对皇帝说:“匈奴人都用长枪弓箭,请命令士兵每张强弩朝外搭两支利箭,慢慢地撤出包围。”刘邦命令弓箭手都拉满弓向外,脱围刚出平城就想驱车快跑。夏侯婴坚决止住车马慢慢行走,最后终于脱离险境。撤进平城的同时,汉朝的救兵也赶到了。匈奴看到汉军大部队赶来,匈奴深恐汉军反击,解围而去。
注:白登之围,刘邦并没有战败。真正意义上说,应该是汉军赢了,收复了土地,还打入了匈奴境内。
刘邦回到广武县,便赦免了刘敬。刘邦对刘敬致歉:“我不听先生的意见,因而在平城遭到围困。我已经把前面那十来批出使匈奴说匈奴可以攻打的人都斩首了。”于是赏赐刘敬食邑二千户,封为关内侯,称作建信侯。刘邦让樊哙留下平定代地。又下诏革去刘喜的王位,贬为合阳侯。刘喜就这样做了6年合阳侯,于公元前193年抑郁而终。
注:刘喜就是刘仲。
刘邦南归经过曲逆,登上城楼,望见县城的房屋很大,感叹道道:“这个县好壮观!我行遍天下,只见到洛阳和这个县是这样。”回头问御史说:“曲逆的户口有多少?”御史回答说:“当初秦朝时有三万多,中间连年战乱,很多人逃亡藏匿,如今现存五千。”当时刘邦便命令御史,改封陈平为曲逆侯,尽享全县各户的赋税收入,取消以前所封的户牖乡。
刘邦从平城经过赵国,赵王张敖脱去外衣,戴上袖套,从早到晚亲自侍奉饮食,态度很谦卑,颇有子婿的礼节。刘邦却席地而坐,像簸箕一样,伸开两支脚责骂下人,对张敖也非常傲慢。
赵国丞相贯高、赵午等人都已六十多岁了,原是张耳的门客。他们的性格生平豪爽、易于冲动,就愤怒地说:“我们的大王是懦弱的大王啊!”就对张敖说:“当初天下豪杰并起,有才能的先立为王。如今您侍奉皇帝那么恭敬,而皇帝对您却粗暴无礼,请让我们替您杀掉他!”
张敖听了,便把手指咬出血来,说:“你们身为重臣,怎么说出这样无理的话!况且先父亡了国,是依赖皇帝才能够复国,恩德泽及子孙,所有一丝一毫都是皇帝出的力啊,希望你们不要再提此事。”
贯高、赵午等十多人都相互议论说:“都是我们的不对。我们的大王有仁厚长者的风范,不肯背负恩德。况且我们的原则是不受悔辱,如今怨恨皇帝悔辱我王,所以要杀掉他,为什么要玷污了我们的王呢?假使事情成功了,功劳归王所有,失败了,我们自己承担罪责!”
匈奴和韩信(韩王信)背弃盟约多次骚扰边境,刘邦又率军东进,在东垣一带追击韩信(韩王信)的残余反寇。
刘邦从东垣回来,路过赵国。贯高等人在柏人县馆舍的夹壁墙中隐藏武士,想要拦截杀死他。刘邦经过那里想要留宿,心有所动,就问道:“这个县的名称叫什么?”回答说:“柏人。”“柏人,是被别人迫害啊!”没有留宿就离开了。
刘邦从平城出发,经过赵国、洛阳,抵达长安。长安的长乐宫建成了,丞相萧何及以下的官员们都迁到长安治事了。
长乐宫已经建成,各诸侯王及朝廷群臣都来朝拜刘邦参加岁首大典。先在天刚亮时,谒者开始主持礼仪,引导着诸侯群臣、文武百官依次进入殿门,廷中排列着战车、骑兵、步兵和宫廷侍卫军士,摆设着各种兵器,树立着各式旗帜。谒者传呼“小步快走”。于是所有官员各入其位,大殿下面郎中官员站在台阶两侧,台阶上有几百人之多。
凡是功臣、列侯、各级将军军官都按次序排列在西边,面向东;凡文职官员从丞相起依次排列在东边,面向西。大行令安排的九个礼宾官,从上到下地传呼。于是刘邦乘坐“龙辇”从宫房里出来,百官举起旗帜传呼警备,然后引导着诸侯王以下至六百石以上的各级官员依次毕恭毕敬地向刘邦施礼道贺。
诸侯王以下的所有官员没有一个不因这威严仪式而惊惧肃敬的。等到仪式完毕,再摆设酒宴大礼。诸侯百官等坐在大殿上都敛声屏气地低着头,按照尊卑次序站起来向刘邦祝颂敬酒。
斟酒九巡,谒者宣布“宴会结束”。最后监察官员执行礼仪法规,找出那些不符合礼仪规定的人把他们带走。从朝见到宴会的全部过程,没有一个敢大声说话和行动失当的人。
大典之后,刘邦非常得意地说:“我今天才知道当皇帝的尊贵啊。”于是授给叔孙通太常的官职,赏赐黄金五百斤。叔孙通顺便进言说:“各位弟子儒生跟随我时间很久了,跟我一起制定朝廷仪礼,希望陛下授给他们官职。”刘邦让他们都做了郎官。叔孙通出宫后,把五百斤黄金,都分赠给各个儒生了。这些儒生都高兴地说:“叔孙先生真是大圣人,通晓当代的紧要事务。”
注:叔孙通认为礼仪是因时而异,可以根据社会因素作出改变,不必完全草创然后坚持。他为刘邦制订的礼仪即由混合夏、商、周、秦四代的礼乐而成。后世对叔孙通褒贬不一。司马迁认为叔孙通因时而变,为大义而不拘小节,称叔孙通为“汉家儒宗”。司马光则批判叔孙通制订礼乐只为逞一时之功,结果使古礼失传。