建安24年7月,鎮守荊州的關羽統率大軍北伐。水淹七軍,擒于禁,斬龐德,威震華夏。曹操為了避其鋒芒,竟然打算遷都。之後關羽乘勝追擊,包圍了樊城。曹仁率部拚死抵抗,關羽久攻不下。就在雙方僵持的時候,關羽的後院起火,呂蒙白衣渡江,襲取了荊州,在後方看家的糜芳和傅士仁不戰而降。關羽的退路被切斷了。
進退失據的關羽無奈敗走麥城,最終被東吳擒獲。孫權本想収降關羽,遭到拒絕後將其斬殺。荊州丟失後不久,鎮守上庸的劉封和孟達發生矛盾,孟達投降曹魏後和徐晃等人攻擊上庸,劉封抵擋不住,突出重圍後逃往成都。荊州丟失,關羽被殺,劉備本來就很生氣了。也許有朋友會問,關羽北伐的時候,劉備為何不從益州派兵增援呢?
原因主要有兩個。第一個原因是當時劉備剛剛和曹操結束漢中爭奪戰,雖然劉備最終奪取了漢中,但也付出了很大的代價。魏蜀吳三國中,蜀國的人口最少,兵力也最少,像演義中那樣動輒就可以出動幾十萬大軍的情況是不存在的。也就是說,劉備奪取漢中之後,手中已經沒有多少生力軍了,就算想出兵增援關羽也是心有餘而力不足。
第二個原因是關羽敗得太快出乎了劉備的預料。關羽剛北伐的時候,捷報頻傳,然而不久後就兵敗被擒。從大勝到大敗,間隔的時間很短。當時的通信方式又比較落後,當劉備得到關羽大敗的消息後,形勢已經很危急了,此時就算他從益州出兵來救援,也已經來不及了。荊州丟失,關羽被殺,劉備的地盤一下少了一半,還損失了一員大將,本來就已經十分上火了,不料劉封又把上庸給丟了,這樣一來,劉備就是火上加火。
本來劉備就在關羽被殺一事上對劉封有意見。關羽擒于禁斬龐德之後,準備乘勝進攻襄陽和樊城。為了穩妥起見,他給劉封和孟達送去了軍書。然而劉封卻以上庸剛被收復,城內民心和軍心不穩為由,拒絕出兵。後來關羽敗走麥城的時候,多次派人向劉封求救。當時劉封是距關羽最近的蜀將,但他依然沒有出兵。
雖然劉封出兵也不一定能救得了關羽,但這至少是一種嘗試。即便救援不成功,但你儘力了,別人就無話可說。但不出兵,這就是態度問題了,屬於見死不救。劉備因此對劉封很不滿。結果不久後劉封又把上庸給丟了,劉備的火氣就更大了。此時他雖然很生氣,但卻沒有要殺劉封的意思,只是狠狠把他訓斥了一頓。
一開始劉備之所以不想殺劉封,原因有兩個。一個原因是劉封是他的義子,二人相處了很長時間,感情比較深。第二個原因是蜀國人才比較少,培養一個將領並不容易。劉封跟隨劉備攻取益州的時候,在戰場上的表現很出色,被封為副軍中郎將,這說明他是有一定能力的。因此劉備並不願意因為關羽的被殺和上庸的丟失就把劉封給斬了。他還想把劉封留下來,讓他輔佐劉禪。
那麼後來劉備為何還是把劉封給殺了呢?這是因為諸葛亮對他說了一句殺人誅心的話。據《三國志·蜀書》記載,諸葛亮當時對劉備說:「封剛猛,易世之後終難制御。」。意思就是說,劉封的性格剛直猛烈,萬一劉備去世後,劉禪很可能駕馭不了他。一旦到時候他有二心,那麻煩就大了。劉封的能力比劉禪強太多,因此劉備認為諸葛亮這句誅心的話很有道理,很快就下旨處死了劉封