본관은 양천(陽川). 자는 자고(子固). 증 이조참판 허한(許澣)의 증손으로, 할아버지는 증 호조참판 허구(許昫)이고, 아버지는 증 호조참판 허기(許기)이며, 어머니는 경산이씨(京山李氏)이다.
어려서부터 기억력이 탁월해 총명하고 필법에 능하였다. 또한 재략(才略)을 좋아하고 사장(詞章)에 얽매이지 않아, 당시 유명한 무인 유비(柳斐)·성우길(成佑吉) 등과 무예를 겨루었다. 1593년(선조 26) 무과에 급제했고, 이순신(李舜臣)은 그를 장수의 재목이라 여겨 특별히 대해 주었다.
남쪽 해변을 지키고 돌아와서는 선전관·비국랑(備局郎)을 역임하였다. 유성룡(柳成龍)의 천거로 남평현감이 된 뒤 도총부도사·경력 등을 거쳐, 단천군수가 되었다. 마침 여진족의 침입을 물리쳐 공을 세우고 절충장군(折衝將軍)으로 승진, 무산진첨절제사에 제수되었다.
얼마 뒤 훈련중군·호서수군절도사·호남수군절도사 등을 역임했는데, 가는 곳마다 군사들을 사랑해 신망이 두터웠다. 광해군의 난정을 당해 9년 동안 은거했다가 인조반정 후 다시 중군에 등용되어 군졸들의 마음을 수습하였다. 그러나 권귀인(權貴人)의 비위를 건드려 파직당하였다.
그 뒤 정묘호란 때 중군이 되어 왕을 호종한 공으로 가선대부로 승자, 영남우도절도사 겸 진주목사를 거쳐, 회령도호부사를 지냈다. 1636년(인조 14) 병자호란이 일어나자 영남좌도절도사로 있던 그는 보병 1만여 명을 이끌고 북진해 남한산성에 피난한 왕을 구하려 하였다.
그러나 광주(廣州) 쌍령(雙嶺)에서 청나라 군대를 만나 싸웠으나 패하고 많은 병력을 잃자 자결하였다. 뒤에 왕이 이 소식을 듣고 예관(禮官)을 보내어 치제(致祭)하고, 병조판서에 추증하였다. 시호는 충장(忠莊)이다.