본관은 창녕(昌寧). 자는 이술(而述). 사직서영(社稷署令) 성예원(成禮元)의 증손으로, 할아버지는 참판 성수익(成壽益)이고, 아버지는 성진선(成晉善)이고, 어머니는 윤문로(尹文老)의 딸이다.
여러 번 문과에 실패한 뒤 1603년(선조 36) 무과에 급제하였다. 대정현감(大靜縣監)을 지냈으며, 그 뒤 형조좌랑·군기시첨정(軍器寺僉正)·훈련원부정(訓練院副正)·갑산부사·함경남도우후(咸鏡南道虞候)·길주목사 등을 역임하였고, 강계부사로 있으면서는 선정을 베풀어 이름을 떨쳤다. 1636년(인조 14) 청백리에 뽑히고 창흥군(昌興君)에 봉해졌다.
오위도총부부총관(五衛都摠部副摠管)이 되었다. 이 해 12월 병자호란이 일어나자 전라우도수군절도사로서 수군을 이끌고 강화도로 갔으나 이미 강화도가 함락된 뒤였다. 이 때문에 고의로 출동을 늦추었다는 죄로 탄핵을 받아 제주목사로 좌천되었다.
그 뒤 함경북도병마절도사가 되어 북방의 방어에 공헌하였다. 1645년 경성 임지에서 죽자 조정에서 병조판서로 추증하였다. 함경북도 경성의 청덕사(淸德祠)에 제향되었다. 성품이 인후하고, 효성과 우애가 지극하였으며, 관직생활에 충직하고 청렴하여 칭송을 받았다. 송시열(宋時烈)이 신도비문을 지었다.