馬超が兵を挙げて劉備(孫彦軍)を攻め、張飛(李靖飛)と一日中激戦を繰り広げたが、決着がつかなかった。劉備は退却の合図を出し、張飛に馬超を味方に引き入れたい考えを伝えた。これを聞いた張飛は、夜戦で馬超と再び戦い、馬超の兜を奪った。馬超も張飛の頭巾を奪い、両軍は一時休戦となった。
翌日、諸葛亮(唐国強)が到着し、劉備に楊松と友好を結び、張魯に書簡を送り、主君が劉璋と西川を争うのは張魯の仇討ちのためだと説得するよう勧めた。張魯は馬超に退却を命じたが、馬超は従わなかった。楊松らは張魯に馬超が私欲を抱いていると訴え、その後、馬超の陣営に赴き、一ヶ月以内に西川を奪還するよう促した。馬超はやむを得ず退却した。
楊松はさらに、馬超が兵を戻せば漢中を奪うだろうと噂を広め、張魯は馬超の関所通過を許さなかった。劉備たちが誰を派遣して馬超を降伏させるか議論しているところに、李恢が降伏しに来て、馬超を説得する役目を請け負った。李恢は馬超を説得し、劉備は劉璋を攻撃、馬超が先鋒となった。劉璋はやむを得ず群臣を説得し、城を開いて降伏した。劉備は成都を占領し、州県を平定し、蜀国の基礎を築いた。