漢中是益州東北部的一個郡,周圍環山、北屏秦嶺,漢水盆地坐落其間,漢水支流從西向東流過,漢中物產富饒、土地肥沃,一旦占據漢中,不但能打通通往秦、隴、蜀、楚的道路,進而向外擴張勢力,還能“獨成一家”、割據一方。所以漢中一直以來都是兵家必爭之地,漢高祖劉邦便是以此為根據地,一步步擴張、終成帝業的。
建安十九年(214年)四月,曹操在平定隴右後,便為進攻張魯創造了有利條件。建安二十年(215年)三月,曹操見劉備已取得益州,而漢中是益州門戶,“若無漢中,則無蜀矣”,劉備必然要攻取漢中。於是曹操搶先一步,率十萬大軍親征漢中張魯。
七月,曹操率軍來到陽平關(今陝西勉縣西北),張魯左右思量後,知道自己不是曹操的對手,便有了投降之意。但這一想法在說出來後,第一個遭到了其弟張衛的反對,張衛率領大將楊昂及數萬人堅守關口,壘起石牆防止曹軍的進入,曹軍花了好大力氣無果,死傷無數,最後還是運用了夜間偷襲的方法,才打敗了張魯軍隊,張衛趁機逃回漢中。
見到陽平關失守,張魯又想投降,此時,功曹閻圃說:“你現在投降,那是因為戰敗了,就算投降過去也沒有地位。你聽我的,先別投降,我們先去巴中依靠當地的小軍閥,曹操肯定打不下來,這個時候再主動投降,那地位肯定不一樣了。”
張魯一聽有道理,馬上安排撤退。張魯的部下撤退時一度想燒了糧倉、國庫等地方,張魯也拒絕了,說:“本來就要投靠朝廷,這些都是要獻給朝廷的,現在出走,也隻是暫時避開曹軍,並非有什麽二心。收藏珍寶的倉庫,以後也是朝廷的,不能燒掉,還是留著吧”。
曹操占據了南鄭後,對張魯的好意也是心領神會,馬上慰問張魯的家人,表示自己的寬廣胸懷。