汉高帝九年,公元前198年,冬季,刘邦在民间找来一名女子,赐名为长公主,把她嫁给匈奴单于,派刘敬同时前往缔结和亲盟约。司马光评论说:刘敬说冒顿是残暴的贼子,不能用仁义去感化,而又想和他联姻,真是前后矛盾!骨肉之恩,尊卑之序,也只有仁义的人才能懂,他却想以此来降服匈奴!古代的帝王对待夷狄,他们归服就用德行来安抚,他们反叛就用威力来镇慑,从没听说过还联姻的。况且,冒顿把父亲视为禽兽而猎杀,对岳父又会好到哪里去!刘敬的计策,本已粗疏了,何况鲁元公主已经成了赵王王后,又怎么能夺回来呢!
汉高帝七年,公元前200年,刘邦亲自领兵攻打韩王信,在铜鞮大败之,斩其将王喜。韩王信逃往匈奴,其属将白土人曼丘臣、王黄等拥立原来赵国的后代赵利为王,重新收拢韩王信的散兵败卒,与韩王信及匈奴合谋攻击汉军。匈奴单于冒顿派其左贤王、右贤王领万余骑兵,同王黄等驻扎在广武以南,结果在晋阳被汉军打得溃败,但他们随后又聚集起来,汉军乘胜追击,再次大败他们。这时,正好碰上天气严寒,还下了大雪,汉军士兵被冻掉手指的占到了十分之二三。