關羽全軍覆沒,與其子關平在章鄉(今湖北當陽市東北)被孫吳軍隊斬殺。
劉備得知劉封、孟達拒救關羽,對兩人懷恨在心。而當時劉封與孟達又互相爭執不和,不久,劉封搶走了孟達的儀仗隊。
孟達既擔心劉備追究他不援助關羽的罪責,又對劉封極為不滿,于是上表給劉備辭行,徑直率領部下投降曹魏。
孟達投降曹魏后,被魏王曹丕任命為散騎常侍、建武將軍,封平陽亭侯,兼任新城郡太守。
延康元年(公元220年)七月,曹丕派征南將軍夏侯尚、右將軍徐晃與孟達一起進攻駐守在上庸的劉封。
孟達寫信勸降劉封,認為劉封并非劉備的親生之子,僅獲得一個副軍將軍的名號;
而劉備立劉禪為太子,劉封將來也不可能繼承大統。劉封駐守上庸,如今曹魏大軍兵鋒所向,劉封如果丟掉了上庸,回到益州就會被劉備治罪;
不如像自己一樣投降曹魏,恢復寇姓,接受曹魏的封賞,恢復祖上羅侯的封爵。
盡管孟達言辭懇切,奉勸劉封審時度勢,但是劉封卻沒有聽從他的勸告。
曹魏大軍兵臨城下,上庸郡太守申儀背叛劉封投降曹魏,申儀的兄長西城郡太守申耽也投降了曹魏。
曹丕任命申儀為魏興郡太守,封鄖鄉侯;又任命申耽為懷集將軍,把他轉移到南陽郡。
曹魏大軍攻占上庸,劉封兵敗只得返回成都。劉封到達成都后,劉備責怪他欺凌孟達,又追究他不援救關羽的罪過。
諸葛亮顧慮劉封剛烈勇猛,倘若劉備去世之后,劉禪無法駕馭控制劉封,于是趁機勸諫劉備除掉劉封。
劉備于是下令賜死劉封,讓他自殺。劉封自殺前感嘆,深恨自己當初沒有聽從孟達的勸告。
劉備聽了他的話,為之傷心流淚。劉封死后,其子劉林在魏元帝咸熙元年(公元264年)遷居河東郡(今山西省)。
蜀漢丞相諸葛亮評價:劉封剛烈勇猛,世代改換之后很難有人能駕馭控制他。
晉朝史家陳壽評價:劉封處在容易招到嫌疑的地位,而他的思慮不足以保護自己。
陳壽在《三國志》中將劉封與彭羕、廖立、李嚴、劉琰、魏延、楊儀幾人列為一傳,認為他們都是蜀國的重要官員,
但都沒能善終,考察他們的舉動和處事的方法,可以說他們最終招來災禍、獲取罪過,都是自己造成的。
明朝學者李贄評價:劉封雖然不曾出兵救援關羽,但是他的罪過與糜芳是一樣的,都是迫不得已、情有可原。
但是如傅士仁和孟達兩個人,則是叛逃投敵的亂臣賊子,罪不容誅。
凡是讀史的人,應該根據事情的原委來定罪,才不會冤枉人。
清初學者毛宗崗評價:劉封拒絕孟達的勸降,和糜芳跟從傅士仁投降孫吳有區別。
但是既然能夠在最后拒絕聽從孟達,為什么不能在一開始就拒絕聽從孟達呢。
既然能夠斬殺孟達的使者,而不向曹魏投降;為什么當初卻聽從孟達的蠱惑,不發兵救援關羽呢。
從南郡發兵救援樊城很困難,糜芳不聽從傅士仁的勸降就必死無疑;但是從上庸城發兵救援麥城卻很容易,
劉封不聽從孟達的蠱惑,未必就會丟掉性命。遺憾的是,他明白得太晚了。
相傳三國時期,劉備攻占樊城,打敗曹魏將領曹仁,在慶祝戰績時看到樊城縣令劉泌的身旁站著一位器宇軒昂的英俊少年,問起姓名,才知是劉泌的外甥寇封。
宴席開始,隨軍廚役上菜時不小心將肉塊遺落在地,寇封竟隨手揀起,放進口中吃掉。
此舉引起劉備的愛慕,將寇封收為義子,改名劉封。事后,劉備問劉封:“何以見肉落地,不去灰沙,不責下人,隨口吞食,是何意也?”
劉封回答:“身為將吏,應時時垂憐百姓,粒米片肉來之不易,棄之可惜,士卒廚役,終日勞累,愛之有余,偶有過失,安忍叱斥。”