定軍山の戦い
法正は、夏侯淵・張郃に漢中を守りきる能力は無い事を理由として、劉備に漢中を攻めるよう提案した。
218年、劉備は法正・黄忠・魏延・趙雲・高翔・陳式・劉封たち本隊を率いて漢中を攻め、別働隊として呉蘭・雷銅・任夔・張飛・馬超の部隊2万を派遣して武都を攻略させた。
呉蘭・張飛らに対し、曹操は曹洪・曹真・曹休らを派遣して対応させた。このとき曹操は若い世代の武将に多大な期待を寄せ、曹休に対し「お前は参軍だが、実質的な総指揮を執るのだぞ」と語り、総指揮官の曹洪に対してもそのようにするようにと命じた。
曹洪の軍が接近すると、劉備は張飛を固山に派遣し、曹洪らの糧道を遮断する形勢を示した。曹休は「糧道遮断を本気でやるつもりならば軍を隠密行動させる必要があるにもかかわらず張飛は隠密行動をとっていません。張飛は牽制にすぎないだろうから無視して、呉蘭を迅速に全兵力で攻撃すべきです」と発言し、曹洪もこの考えを採用し、呉蘭を攻撃した。曹洪の総攻撃を受けた呉蘭の軍は大敗し、張飛・馬超は逃亡した。雷銅・任夔は戦死し、呉蘭は曹洪に同盟した氐族の酋長の強端の伏兵にあい斬り殺された。
曹操は遂に劉備征伐のため自ら長安に赴いた。一方、劉備は陽平関を襲撃し、陽平関を占拠した。
更に劉備は陳式ら10余の軍営をもって馬鳴閣の街道を遮断した。徐晃は1万の別働隊を指揮し、陳式らの部隊を破った。陳式らの軍勢には谷間に落ちて死ぬ者も多かった。
赤壁の戦いの後、劉備は荊州南部の四郡を占領し、ついに地盤を得て大きく飛躍するに至った。 さらに214年に劉備が益州を占領し勢力を伸ばすと、これを聞いた孫権は劉備に対して荊州の割譲を要求した。劉備は涼州を得たら荊州を再分割しようと返答したが、これに怒った孫権は長沙・桂陽・零陵を支配するため役人を送り込んだ。しかし荊州四郡を督していた関羽に追い返された。孫権は自ら軍を指揮して陸口に駐屯し、魯粛を巴丘に駐留させて関羽の動きを封じ、呂蒙に三郡を攻め取らせた。三郡はすぐに降伏したが、まもなく、劉備が自ら指揮を執って公安に来援したため、関羽は三郡を奪回しようと益陽に向かった。
215年、このような劉備と孫権の険悪な情勢の中で、曹操は漢中の張魯への攻撃を開始した。曹操は当初異民族を蹴散らしながら軽快に進撃を続けたが、秦嶺山脈の険しさによって輸送に支障をきたし軍は疲弊し、陽平関において張魯の弟の張衛の前に一度は敗北を喫した。しかし、劉曄の提案に従い、最終的には張衛を打ち破り、張魯は巴中に逃亡し、曹操は漢中を領有するに至った(陽平関の戦い)。この様な情勢下において、劉備と孫権が敵対し続けるのは両勢力にとって極めて不利益であったので、魯粛と関羽が会見し、劉備は荊州の呂蒙に奪われた長沙郡・桂陽郡の領有を認めることで孫権と和解し、奪われた零陵郡の返還と南郡の領有を認めさせ、両者は軍を引いた。この後、劉備は漢中の攻略を目標とすることになった。