三國時期,劉備統率大軍前去攻打漢中。漢中的守將夏侯淵得到消息後,馬上派人通知上司曹操,曹操聽說後大吃一驚,立刻親自率兵四十萬前往抵禦劉備的軍隊。
夏侯淵知道曹操的援軍馬上就到,便派夏侯尚帶兵進攻。劉備的將領黃忠見曹軍前來挑戰,就派大將陳式去迎戰。夏侯尚和陳式交戰了幾個回合之後,夏侯尚便假裝戰敗想要逃走,陳式乘勝追擊。誰知走到半路,山上突然滾下來很多大木頭,砸中了陳式,夏侯淵便生擒了陳式。
黃忠聽到部下的報告後,連忙去和謀士法正商量。法正說:“夏侯淵這個人很浮躁,有勇無謀。我們可以採取步步為營的辦法,激勵軍隊向前推進,然後引誘夏侯淵來戰,從而捉住他,這就是反客為主的戰法。”
黃忠採納了他的建議,將陣地穩步向前推進。夏侯淵見蜀漢軍隊不斷向自己這邊推進,便組織人馬進行反擊,派夏侯尚率軍出戰。結果,夏侯尚與黃忠一交手就被活捉了。
夏侯淵非常生氣,出兵包圍了黃忠的軍隊,還破口大罵。可是,任憑夏侯淵怎麼辱罵,黃忠就是不出戰。時間慢慢過去,曹軍越來越疲憊。這時黃忠突然出戰,夏侯淵來不及防範,被黃忠一刀砍成了兩段,曹軍大敗。
後來人們就用“反客為主”來表示客人反過來成為主人,比喻變被動為主動。