曹操主力退出汉中后,刘备向汉中发动进攻。
公元218年(建安二十三年),刘备亲率大军进至阳平关,夏侯渊等人与刘备夹关对峙,曹军多次击退刘备军猛烈攻势。
七月,曹操亲率大军赶往关中,坐镇长安,以便随时指挥汉中战局。
同时,边塞硝烟再起,曹操命曹彰、田豫北征,大破乌桓鲜卑联军。
公元219年(建安二十四年)正月,刘备自阳平关南渡沔水(今汉水),依山而进,驻军于定军山(今陕西勉县东南),夏侯渊出兵与刘备争夺地势,被黄忠斩杀,曹军大败。
之后,曹操亲率大军来夺汉中,但是刘备坚壁不出,曹军与刘备军相距数月,无利,遂放弃汉中。
公元219年(建安二十四年)七月,曹操刚刚从汉中撤出,刘备大将关羽就从荆州向他的东南防线襄、樊一带发动了进攻。
曹操闻知,立刻派大将于禁率兵往救樊城。
八月,关羽乘洪水泛滥之机,擒于禁,斩庞德,乘势进军,将樊城围住。
时樊城曹军只有数千人,城被水淹,水面离城楼仅有数尺,曹仁率军死守。
曹操又派徐晃领兵去救樊城。十月,曹操从关中赶到洛阳,亲自指挥救援樊城。
孙权因关羽处其上游,不愿意让关羽势力发展,且他早有攻取荆州之心,于是联结曹操,准备以大将吕蒙偷袭荆州要地江陵。
曹操接到书信后,将这一消息通知曹仁,命他继续坚守,自己进至摩陂(今河南郏县东南),临近指挥,又派兵十二营增援徐晃,命他反击关羽。
经过恶战,关羽大败而走。不久,吕蒙偷袭江陵得手。
关羽撤往益州,路上被孙权军擒杀,孙权将关羽的首级送到许昌,曹操以诸侯之礼安葬。襄樊战役结束。
曹操在孙权擒杀关羽、取得荆州后,表孙权为骠骑将军、荆州牧。
孙权遣使入贡,向曹操称臣,并劝曹操取代汉朝自称大魏皇帝。
曹操将孙权来书遍示内外群臣,说:“是儿欲踞吾著炉火上耶!”曹操手下群臣乘机向曹操劝进。
曹操自己还不想废献帝自立,他说:“若天命在吾,吾为周文王矣。”
公元220年(建安二十五年)正月,曹操还军洛阳。当月,病逝在洛阳,终年六十六岁,谥曰武王。
他临死前留下《遗令》。根据曹操的遗嘱,他于二月廿一丁卯日(4月11日)被安葬于邺城西郊的高陵。
这年十月,魏王曹丕取代汉朝,自立为皇帝,国号魏,追尊曹操为武皇帝,庙号太祖。
曹操在北方屯田,兴修水利,解决了军粮缺乏的问题,对农业生产恢复有一定作用。