皮豹子,漁陽(今北京密雲西南)人士。年少時便有武有謀。
泰常(北魏國主拓跋嗣年號)年間,任中散,之後升至內侍左右。
拓跋燾任北魏國主時,皮豹子官至散騎常侍,賜爵新安侯,加冠軍將軍。後來又拜選部尚書,其餘如故。外任使持節、侍中、都督秦、雍、荊、梁四州諸軍事、安西將軍、開府儀同三司,晉爵淮陽公,鎮守長安。不久後加稱號徵西將軍。後來因盜取朝廷財產,被流放到統萬(今陝西靖邊縣北白城子)。
真君三年(442年),劉宋劉義隆派遣名將裴方明等人侵犯南秦王楊難當(仇池國國主,向劉宋稱藩,後改降北魏)的轄區武興地區(今陝西略陽),攻陷仇池(今陝西略陽縣西北)。拓跋燾徵召皮豹子,恢復他之前的爵位。沒過多久,皮豹子拜官至使持節、仇池鎮將,督關中諸軍,與建興公古弼等人分別統領諸將,分十道並進。
真君四年(443年)正月,皮豹子進攻樂鄉(今湖北鍾祥市西北六十六里樂鄉關),大破劉宋軍,生擒劉宋將領王奐之、王長卿等六人,斬首二千餘級,俘獲一千人。
接著皮豹子進軍下辨(今甘肅成縣西北三十里),劉宋將領強玄明、辛伯奮棄城逃走,被皮豹子追至斬殺,被捕獲其餘劉宋士卒。劉義隆派遣秦州刺史胡崇之鎮守仇池,胡崇之軍行至漢中(今陝西漢中市東)時,聽聞北魏大軍已經向西行軍,因此被嚇得不敢前行,裴方明增撥兵力給胡崇之,讓他迎戰北魏大軍。
皮豹子與司馬楚之在濁水(今江西贛水支流錦江)與胡崇之交戰,並將胡崇之擒獲,以及他的部下。然後進軍至高平,劉宋將領姜道祖向北魏投降,仇池因此被平定。
沒過多久,眾氐人又反叛,推選楊文德為首,包圍仇池。北魏名將古弼率領大軍前去討平,楊文德退走。當時皮豹子在下辨駐兵,聽說仇池已解圍,便想回去了。
古弼派遣使者對皮豹子說:“宋人(指劉宋的軍隊)恥於敗北,肯定會來複仇的。等他們攻打過來,再舉兵平亂就困難了。不用等到秋、冬季,劉宋就會再次攻來,不如在這裡駐兵秣兵厲馬,以逸待勞。” 皮豹子覺得有道理,便駐兵於此。不久後皮豹子任都督秦、雍、荊、梁、益五州諸軍事,進號徵西大將軍,開府、仇池鎮將、持節、爵位如故。
如古弼所言,十一月,劉義隆又再次派遣將領楊文德(楊難當哥哥的第四子)、姜道盛率軍二萬進犯濁水。並且另派將領青陽顯伯,防守斧山以抵禦皮豹子。兩軍交戰中,濁水城牆上,北魏士兵射殺了姜道盛,皮豹子行軍至斧山,陣中斬首青陽顯伯,俘獲劉宋士兵。
皮豹子又與河間公元齊在濁水會師,劉宋軍震恐,丟盔棄甲連夜逃跑。
當初,南秦王楊難當歸順北魏,拓跋燾下詔令送楊氏子弟到京城,楊文德通過行賄,得以留下,之後逃往漢中。劉義隆便任楊文德為武都王,給他二千士兵守葭蘆城(今甘肅武都縣東南七十里白龍江東岸),招誘氐羌族人,於是武都(今甘肅西和縣南仇池山東麓)、陰平(今甘肅省文縣西北五里)五部氐民反叛,以響應楊文德。
真君九年(448年)正月,拓跋燾下詔命皮豹子率軍前去討伐。楊文德據險而守,以抵禦皮豹子。這時,楊文德麾下將領楊高前來投降,帶領北魏軍進葭蘆城,楊文德棄城向南逃去。皮豹子抓獲楊文德的妻子、幕僚,以及已故武都王楊保宗的妻子、公主,並連同繳獲的軍資一同送往京城。
劉宋白水太守郭啟玄率軍前往救援楊文德,皮豹子分軍迎擊,大破郭啟玄。郭啟玄、楊文德逃回漢中。
興安二年(453年)正月,因拓跋燾晚年脾氣暴躁,誅戮過多,導致北魏政治混亂不堪。劉義隆以此為機,派遣蕭道成、王虯、馬光等人進入漢中,另外又命令楊文德、楊頭等人率各氐羌族人圍攻武都。武都城中官兵堅守抗敵,殺劉宋士卒二百餘人。
皮豹子分兵前往救援,軍至女磊,聽聞劉宋軍停止進攻。於是皮豹子派人到祁山取馬,想要趕往救援。
楊文德認為皮豹子要斷他的糧道,於是撤軍回到覆津(今甘肅武都縣東),據險而守。劉義隆擔心楊文德會撤軍,於是又加派士兵增援,並且命令晉壽(今四川廣元市西南昭化鎮)、白水(今四川青川縣東北沙州鎮)兩地向覆津輸送軍糧,漢川(今陝西漢中市東))、武興(今甘肅武威市西北七十里)兩地向甘泉(今陝西禮泉縣北)運輸粟谷,並且都設置了倉儲。
得知劉宋向楊文德增兵後,皮豹子上表朝廷說:“劉義隆增兵運糧,必會死戰。臣所帶領的軍隊人數本來就不多,唯有依靠民兵來防禦。統萬、安定二鎮裡的士兵,都是從軍三、四年的。長安徵召的士兵,兵役期限已超過了一個月,仍未有代替之期,衣糧全都耗盡,形顏枯悴,思家心切,逃跑的人絡繹不絕。現在面對劉宋的的進犯,他們是不能勝任的。
當地的奸邪之人與敵勾通,知道為臣兵力少弱,他們南引楊文德,共為唇齒。去年八月,楊文德與劉宋梁州刺史劉秀之一同征戰長安,聽聞朝中派遣援軍,勢援雲集。長安地貌平坦,用馬便利,劉宋畏懼我朝騎軍,因此不敢北犯。
但仇池局內人通風報信,說我朝軍隊不多,守衛士卒少之又少,而且各州的人都有,各自都要還鄉,如果真的要開動戰事,必定自向奔逃,進軍奪城,易如反掌。敵人如果相信這話,回撤進軍長安之兵,派遣楊文德、蕭道成、王虯等將領來攻打武都、仇池,希望覬覦秦隴之地。
劉宋進軍圍攻武都,已經有數日,只是擔心臣截斷糧道,所以儘管我方鎮守兵力雖少,目前還沒有大的傷損。如今外敵兵力強盛,臣兵力寡弱,要抗拒進犯,沒有援兵只怕不成。請求朝廷能選拔壯丁,增加武都的防備兵力,這樣牢城自守,可以無患。事到如今,已是十萬火急,惹沒有援兵,導致城池失陷,怕會招來深深的責備。
懇求陛下派高平率突騎二千,帶上一個月的糧草,速赴仇池。並且如此一來,可以抑制逆民,應對敵人。等到長闕、上邽、安定戍兵至,方得安全。食糧,民之命也。城池再堅固,沒有糧也守不住。仇池本來就沒有什麼儲備積蓄,今年更是顆粒無收,臣苦於高平騎兵來援,拿什麼來供給他們,臣請派遣秦州民眾,送軍糧到祁山,臣隨即前往迎接。”
拓跋燾下詔高平鎮鎮將苟莫於率領突騎二千人前往支援,蕭道成退走。之後朝廷徵召皮豹子為尚書,出任內都大官。
和平元年(458年,拓跋濬年號)十月,劉駿(之後的劉宋孝武帝)派遣麾下殷孝祖在清水東側修築兩座當城,以威逼北魏南境。北魏天水公封敕文攻擊殷孝祖,不克。朝廷下詔皮豹子與周丘等人率兵三萬,相助封敕文一同攻擊。劉宋將領顏師伯抵禦北魏,輔國參軍焦度刺將皮豹子刺落馬下,繳獲皮豹子的武器、鎧甲,手刃北魏數十人。
皮豹子認為殷孝祖守城,圍攻城池比較花費時日,於是攻略高平。
和平二年(459年),劉駿轄區的瑕丘鎮派遣步兵五千幫助戍守兩城,離城八里時,與皮豹子的前鋒候騎相遇,當下便開始交戰,皮豹子後軍至,將其打敗。縱騎追擊,殺至城下,劉宋軍只剩下十餘人倖免於難,兩當城中守衛感到恐懼,不敢出城相救。
在此之前,黃河西部諸胡人部落,紛紛逃亡。皮豹子以及前涇州刺史封阿君督,率河西各部隊攻打石樓,與衛大將軍、樂安王元良一起討徵群胡。皮豹子與賊寇對峙,可是沒有覺察到胡人撤走,無功而還,又因事免官。不久後,以之前的戰功,重新被任為內都大官。
和平五年(464年)六月,皮豹子去世。