建安二十年曹操帶兵攻打張魯,張魯派出弟張衛到陽平關抵抗,守了三天後被曹操拿下來。張衛投降了曹操,但他被曹操下令斬首了。
張魯聽到張衛失利的消息,立刻就想出來投降。閻圃勸他不可如此性急。這個時候投降,一定被曹操看不起(當時的不成文習慣法是:不曾交鋒而早日投降的,免死;交鋒了以後,尤其是被圍城了以後,才投降的,就凶多吉少;至於,到了城破以後才投降,那就只有死路一條)。張魯倘若立刻投降,不至於像張衛那樣身首異處;然而,也不會得到什麼官爵。
閻圃建議給張魯:不妨逃入大巴山之中,依附山裡面的少數民族的領袖杜灌、樸胡等人,做成一種抗拒到底的姿態,然後派人向曹操談和平解決的條件。張魯認為此計很妙,便依閻圃之計而行。
有人勸張魯,把堆積在漢寧郡郡治的財寶與糧食一齊燒光,以免被曹操佔了便宜。張魯不肯,反而貼上封條,靜候曹軍接收。果然,這件事深得曹操嘉許。
曹操不等待張魯的代表來洽降,就先派使者迎接張魯。張魯也就率領全家妻子兒女,出來叩頭。使者奉了曹操的命令,以漢獻帝劉協的名義,拜張魯為鎮南將軍,封為閬中侯,食邑一萬戶。張魯的五個兒子與閻圃,也都被封為「列侯」。
曹操可算是僅僅打了三天加一個夜晚的仗,便獲得了漢寧郡一大片的地盤。
他把漢寧郡的名稱,恢復為漢中郡。
張魯的女兒,曹操聘了作媳婦,給兒子曹彭祖為妻。於是,張魯又升高一格,成了曹操的親家。
張魯的這一個女兒,是否以前被張魯想嫁給馬超的那一個?我們無法查考。我們僅僅曉得,《水經注》這部書裡,說到漢水之南,有所謂「女郎山」,山上有「女郎塚」,山下有「女郎廟」。在女郎塚與女郎廟之間有「女郎道」。這個「女郎」,所指的便是張魯之女、曹彭祖之妻。
《太平御覽》卷五百一十八,抄錄了一塊南鄭城的碑,碑文對張魯大捧特捧:「位尊上將,體極人臣,五子十室,榮並爵均,童年嬰稚,抱拜王人;命婚帝族,或尚或嬪。」