본관은 청주(淸州). 자는 성뢰(聖賚). 병자호란 때의 의병장 한몽삼(韓夢參)의 증손이다. 1695년(숙종 21)에 무과에 급제하여 선전관·통어사(統禦使) 등을 거쳐 부총관이 되었다.
서해의 해적들이 심양(瀋陽)과 요동(遼東) 사이에 출몰하여 변방지역을 노략질하자, 이것은 조선 북쪽 변경지역에도 걱정거리라 하여 여기에 대비할 인물을 선발할 때 무관들 중에서 제1인자로 뽑혔다.
적의 정세를 잘 탐지한 다음 청나라에 보고하여 공을 세우고 귀국하여 제주목사가 되었다. 이 때 마침 흉년이 들어 섬의 주민들이 굶주리게 되자 관청의 곡식을 주선해서 진휼(賑恤)하였고, 나쁜 병이 나돌자 서울에서 약을 구해 병을 퇴치하였다.
섬 주민들은 은혜에 감사하여 송덕비를 세웠고 왕은 공로를 치하하였다. 1722년(경종 2) 나주토포사(羅州討捕使)로 있다가 영흥부사로 옮겼으며, 1724년 경상좌수사가 되었다. 1728년(영조 4) 이인좌(李麟佐)의 난이 일어나자 안성에 모인 적을 무찔러 난을 평정하고 민심을 안정시켰다.
1732년 함경도병마절도사로 부임하였으나, 3년에 한 번 순찰하는 규율을 어기고 매년 순점하였기 때문에 파직되었다. 이듬해 경상우도병마절도사·황해도병마절도사 등을 역임하였다.