隨著劉備的實力日益增強,他與孫權之間的矛盾越來越激化。為了爭奪荊州這一戰略要地,他們已經發展到公開的衝突和戰爭。

建安二十年(215年),孫權得知劉備已經平定了益州,心中對他的勢力更加擔憂。孫權認為當時劉備兵敗無容身之地,是他收容了劉備,並且助他一臂之力擊敗了曹軍,他理當獲有荊州全部的統轄權。況且劉備如今又擁有了益州,勢力與日俱增,於是他更加心切地要奪回握在劉備手中的荊州諸郡,因此任命了長沙、零陵、桂陽三郡的地方長官。

鎮守公安的關羽聽到這個消息後,立刻兼程趕往驅逐這三個新吏。孫權知道後,怒不可遏,立即下令統帥呂蒙率領兩萬餘人前往奪取長沙、零陵、桂陽三郡,並派魯肅屯駐在巴丘以抵抗關羽,至於他本人則駐防在陸口,指揮全局。

呂蒙的軍隊一到,所向披靡,瞬息之間就奪回了長沙、桂陽兩郡,隻有零陵的太守仍然堅持相抗。此時,劉備聽到消息,立刻趕回公安,親自督導作戰,並且又派關羽率領了三萬士兵進攻益陽。結果呂蒙、魯肅也率軍在益陽與關羽相持不下。呂蒙趁此機會設計誘騙劉備部下郝普投降,奪取了三郡。

在這一觸即發的關頭,曹操突然又顯示出要掠奪漢中的意圖。劉備惟恐曹操進攻漢中會危及益州的安全,便派使者前往與孫權議和。在諸葛亮的努力下,雙方的戰事總算沒有大規模爆發。而後,雙方又分別選派魯肅和關羽進行談判。

魯肅與關羽會麵時,雙方各駐兵馬在百步之外,兩名將軍分別下馬來單刀赴會。魯肅數度詰問關羽說:“我們當初借土地給你們,乃是同情你們兵敗遠來,無處棲身。今日,你們已經據有益州,卻仍沒有奉還荊州的意思,況且我們隻是要求你們歸還三郡而已,你們卻仍不聽命。”

關羽回答說:“烏林之役,我軍睡不安枕,戮力破敵,豈能徒勞而沒有一塊土地安身呢?”

經過談判後,雙方並沒有開戰的意圖,於是便盡撤藩籬,罷兵言和。以湘水為界,湘水以東的長沙、江夏、桂陽三郡歸孫權;湘水以西的南郡、零陵、武陵三郡歸劉備。

建安二十年(215年)三月,曹操率兵進攻漢中,先後攻破了王竇茂和韓遂的軍隊。七月,乘勝追擊張魯,進入了南鄭(漢中郡治)。九月,製服土民巴賓。十一月,張魯率眾前來投降曹操。

劉備在公安聽到曹操入侵漢中的消息後,立即趕回益州,並派遣黃權前往說服張魯歸順。但是張魯已經率兵投降了曹操。

雖然已經占據漢中,但是曹操的野心遠不止如此,他接著又想攻取益州。於是,他派夏侯淵、張郃屯駐在漢中,並經常派兵侵犯益州的疆界。

劉備看到這種情形,便派遣張飛進駐宕渠(四川渠縣東北)防守,結果張飛和曹操的手下張郃在瓦口大打出手,張郃大敗,鳴金收兵,急速逃回南鄭。而劉備也心安的返回成都,靜觀事情的變化。

建安二十一年(216年),曹操返回鄴。五月,曹操宣稱天子加封晉爵,自進為魏王。從此,他更牢牢地套住了華北的政權。曹操升為魏王後,他的臣僚卻為了曹操的後嗣人選問題而分為兩派。

曹操的幾個兒子中,以曹丕和曹植最為突出。曹丕是長子,為人氣量非常狹窄,又善妒,但是由於他善於與臣子們打好關係,因此許多官吏都擁護他為太子。曹植的個性則與曹丕截然不同,他為人寬宏正直,是曹操諸子中最為正派的一個。曹植文武全才,品學兼優,深得曹操的歡心,所以曹操有了廢長立幼的念頭。但是,由於曹植不善逢迎,因此宮中諸官經常啟奏策立曹丕為後嗣。結果曹丕被立為太子。曹丕為太子後,由於嫉忌曹植的才華,便下令將他放逐,而親近曹植的一派也永不續用。

建安二十二年(217年),當得知曹操正在處理內務糾紛,法正便上言說服劉備:“曹操一舉降服張魯,平定漢中。但是他沒趁此機會圖謀巴蜀,反而派遣夏侯淵、張郃駐守在漢中,驟然北還,這並不是因為他的力量不夠,而是國內發生了變故。夏侯淵、張郃的才能,根本無法和您相比,不如趁機舉兵攻打他們,必定可以獲得勝利。”

劉備對法正的看法大加讚同,便帶著他和張風、吳蘭、雷銅、馬超等人,率兵前往攻打漢中。魏軍的防守很嚴密,曹操派族人曹洪統領全軍,並籠絡氐族,擊退了吳蘭、張風。不久,劉備屯聚於陽平關,由於兵糧殫竭,便急忙求助於守在成都的諸葛亮。

諸葛亮當時鎮守成都,足食足兵,接到消息後,便以此事詢問蜀部從事楊洪,楊洪回答說:“漢中有若益州的咽喉要塞,今日漢中情勢危急,蜀地的男子們自然應該參戰營救,而女子們也應該負起後援的責任。如今,調兵遣將自然是刻不容緩的事。”諸葛亮一聽,非常賞識楊洪的見解,便上薦他為蜀郡太守。

建安二十四年(219年),蜀、魏對峙的局麵仍然存在,劉備率兵自陽平南渡沔水,在定軍、興勢附近紮營。但是,夏侯淵卻率曹軍前來,爭說此地乃是魏國所有。法正在旁眼見時機成熟,便告訴劉備說:“這正是下手的最好機會。”於是,劉備便命令蜀將黃忠,一鼓作氣,乘機追攻曹軍,砍下了夏侯淵的頭。

曹操得到這個消息,立即自長安率兵南征。此時,成都人心徨徨,劉備卻不慌不亂地說:“曹操雖來,但是路遠疲頓,一定無法勝過我們,我們可以靜觀自得。”

三月,曹操親自率領大軍至陽平關附近,劉備領兵據險以抗。翊軍將軍趙雲率領騎兵數十人出營查看,恰巧曹操大軍出動,趙雲與敵人猝然相遇,便衝擊敵陣,且戰且退。曹軍匯合後追至趙雲的軍營前,趙雲進入軍營,又大開營門,偃旗息鼓。曹軍懷疑營中有埋伏,於是撤退。趙雲命人擂起戰鼓,鼓聲震天,卻隻以強弩在後麵射殺曹兵。曹軍非常驚駭,自相踐踏,很多人落入水中溺亡。第二天一早,劉備親自來到趙雲的兵營察看了昨天的戰場,說道:“子龍一身都是膽啊!”

戰鬥數日,曹軍傷亡人數越來越多,卻始終攻克不下,無奈之下曹操隻得下令撤兵,劉備就這樣完全占有漢中了。劉備進駐漢中後,便派遣劉封、孟達、李平等前往上庸攻打申耽,申耽聽說曹操已經放棄漢中逃走了,便馬上倒戈投降。

劉備平定了漢中之後,大加犒賞三軍,一時人心大悅,群臣皆想推他為王,以便和曹操相抗,但卻又不敢啟齒,於是便稟告諸葛亮,諸葛亮說:“你們不用多說,我心裏早有打算了。”

諸葛亮領著法正前往晉見劉備說:“今日曹操專權,百姓苦於無主,主公的仁義遍施於天下,今日又據有兩州之地,不妨適應天時大勢,即皇帝位以便名正言順地討伐國賊曹操。”

劉備聽了大吃一驚,說:“軍師如此說就不對了,我隻不過是漢室的一個臣子,怎麽可以僭位?如此不是煽動我造反嗎?”

諸葛亮說:“當今天下分崩離析,各路英雄群起割據,有節之士,皆不顧存亡前來投效主公,無非是想攀龍附鳳,建立功名。如今主公避諱守義,不肯成就帝業,恐怕會有失眾人所托。今日應該順應情勢,通權達變,不可拘於常理,主公可先進位漢中王,再呈奏天子,也為時不晚。”

在場的文武官員也異口同聲說:“主公若推卸,則民心士氣瓦解,恐難以收回。”劉備再三推辭,卻拗不過眾人的請求,隻得答應晉位漢中王。劉備設壇於沔陽,方圓九裏,群臣各依官秩順序排列。劉備麵南而坐,受群臣賀拜為漢中王。

隨後,劉備修書一封,派人兼程送至許都以呈獻天子。劉備於書中上言,由於曹操包藏禍心,篡盜已顯。既宗室微弱,帝族無位,酙酌古式,依假權宜,上臣為大司馬漢中王,將竭盡己能,應天順時,撲討叛逆,以報效漢家。

當時,漢獻帝在名義上仍為天子,但實際上的政權卻已落入曹操父子的手中。此時,劉備在漢中稱王;加上孫權又野心勃勃地在一旁觀望。為了統一國家,激烈的戰爭是不可避免的。