黥布造反以後,灌嬰奉命首先出征。在相地打敗了黥布的別將,接著,打敗了叛軍的上柱國和大司馬的軍隊,而在與敵將肥誅的戰鬥中,他親手活捉敵人的左司馬,然後,漢軍追擊叛軍直到淮河沿岸。首戰告捷,劉邦十分高興,加封灌嬰食邑兩千五百戶。黥布被消滅以後,劉邦正式確定,以穎陰地區的五千戶作為灌嬰的食邑。
劉邦去世以後,灌嬰以列侯的身份在京侍奉惠帝與呂後。呂後去世以後,呂氏宗族企圖謀反,顛覆劉氏的天下。齊哀王聞訊,率軍西進,打算消滅呂氏集團,呂祿得知此事後,任命灌嬰為大將軍,率軍迎擊齊王。灌嬰行軍到達滎陽以後,派人與朝中的周勃、陳平密謀,決定在此屯兵,並且與齊哀王聯絡,商定一同誅殺呂氏,因此,齊軍也就地駐紮。不久,周勃等人誅殺了呂氏,齊王率軍回國,灌嬰也率軍回朝。此後,他與周勃、陳平等大臣擁立了漢文帝。劉恆加封灌嬰食邑三千戶,賞賜黃金一千斤,任命他為太尉。
三年以後,周勃被罷免丞相的職務,灌嬰被任命為丞相,太尉官職被免除。該年,匈奴大舉入侵北地、上郡,天子命令灌嬰率領騎兵八萬五千人前往討伐。匈奴撤兵以後,濟北王造反,天子下令撤銷了灌嬰的兵權,改派其他的將軍前往平叛。一年多以後,灌嬰病死在丞相任上,謚號為懿侯。
忠言逆耳
漢高祖七年,韓王信造反,劉邦親征叛軍。到達晉陽的時候,劉邦聽說韓王信私通匈奴,想要與之一同進攻漢軍,他大為惱怒,便派使者出使匈奴,一來爭取外交上的主動,二來察探匈奴的實力。
匈奴人十分狡猾,把強壯的士兵和肥大的牛馬隱藏起來,只是將一些年老體弱的士兵和瘦小的牲畜展現在人們面前。漢朝的使者前後往來十餘批,都回報說匈奴很弱,一定能打贏的。劉邦還是不放心,便派劉敬出使匈奴。不久,劉敬回來,卻報告說:「兩國互相攻擊的時候,應該各自誇耀顯示自己的長處,威嚇敵人激勵士氣。這次,臣出使匈奴,只看見一些年老體弱的士兵和瘦小的牲畜。這一定是匈奴故意顯露自己的短處,卻暗地裡埋伏奇兵玩弄陰招。所以,臣認為匈奴有備而來不可以進攻。」這個時候,劉邦沒能沉住氣,帶領二十多萬漢軍已經越過句注山。劉邦認為劉敬的言論會使軍隊的士氣沮喪,便勃然大怒,破口大罵他說:「齊國的奴才!當初,你憑藉著口舌取得了官職,現在卻竟然敢在這裡胡言亂語,企圖阻止我出兵!」於是,劉邦下令把劉敬囚禁在廣武,打算得勝回來好好羞辱他一番。
漢軍繼續前進。到達平城的時候,匈奴果然出動奇兵,把劉邦等人圍困在白登山。七天以後,漢軍才得以解圍。劉邦狼狽地回到廣武,立即赦免了劉敬,對他說:「當初,朕沒有採納您的意見,因此被圍困在平城。現在,朕已經把那些說匈奴可以攻打的人都斬首了。」於是,劉邦封賞劉敬二千戶的食邑,賜爵為關內侯,稱之為建信侯。
和親之策
劉邦從平城撤軍以後,韓王信逃亡到了匈奴的地界。正當此時,冒頓做了匈奴的單于,匈奴兵力強大,擁有三十萬騎射大軍,他們多次侵擾漢朝的北部邊境。對此,劉邦十分擔憂,他專門就此詢問劉敬,請教對策。劉敬說:「天下剛剛平定,將士們疲於戰爭,人民更是渴望平靜的生活。所以,陛下用武力去征服匈奴是成功不了的。冒頓殺死父親,自立為單于,娶庶母為妻子,儀仗武力逞威風,因此,他也是不可以用仁義來說服的。可見,我朝只能用長遠之計,來使他的子孫成為我們的臣子,但是,這個計策恐怕陛下做不到。」劉邦有些著急,說道:「如果真像您說的那樣,為什麼朕不能做!您趕快告訴我,究竟應該怎麼辦?」劉敬回答說:「陛下如果能把皇后親生的大公主嫁給單于,再贈送給他們豐厚的禮物,匈奴人貪圖漢朝的厚禮,蠻夷必定會傾慕漢家的友好,用公主作為王后。那麼,日後,公主生下的孩子必定會是太子,將來會繼位為單于。陛下如果每年能按時利用我朝所剩餘的而匈奴所缺乏的東西,多次去慰問、饋贈,並且派去能言善辯的使者,用禮節去勸告、說服冒頓。如此,冒頓在世的時候,本是漢朝的女婿;他死後,您的外孫便繼位為單于。誰又曾聽說過外孫敢與外公分庭抗禮的呢?這樣,漢軍可以不必出征卻能逐漸讓匈奴稱臣。如果陛下不能將大公主嫁給單于,而是讓皇族女子或是後宮女子冒充公主,單于也會知道。到時候,單于不肯寵幸漢家女子,這對我朝也沒有什麼好處。」