본관은 인동(仁同). 자는 운거(雲擧). 할아버지는 교리 장차주(張次周)이다.
1699년(숙종 25) 무과에 급제한 뒤 선전관으로 있을 때 소론 김일경(金一鏡) 일파에게 몰려 파직되는 등 일찍부터 노소당쟁(老少黨爭)의 와중에서 어려움을 겪었으나 다시 기용되어 경상도좌병사를 거쳤다.
1723년(경종 3) 신임사화 때 김재로(金在魯)·신사철(申思喆) 등과 함께 노론 김창집(金昌集)의 당으로 연루되어 함경도 종성에 유배, 2년 뒤 영조가 즉위하자 풀려 나왔다.
그 뒤 군기시제조(軍器寺提調)·어영대장·훈련대장·형조참판·우포도대장 등을 역임한 뒤, 1727년(영조 3) 훈련대장 재직시 무신으로서 파당(派黨)에 관여했다 하여 일시 파직되었다.
이듬해 이인좌(李麟佐)의 난이 일어나자 한성부좌윤으로서 진어대장(鎭禦大將)에 임명되어 북한산성을 지키며 반란주모자의 한 사람인 평안병사 이사성(李思晟)의 체포에 공을 세웠다.
이어 총융사가 되어 종사관(從事官) 이덕재(李德載)와 함께 수원에 출진, 난군의 일당 이배(李培)를 잡아 포송해 반란군 토벌에 큰 공을 세웠다. 1729년 부사직으로서 과거제(科擧制)의 폐단과 모순을 지적, 상소하였다.
특히 무과 급제자가 수천에 달하나 전혀 임용될 자리가 없다는 것과 시규(試規: 시험 시행상의 규칙) 또한 부실하기 짝이 없다는 점 등을 들어 시정을 촉구하였다.
이 해 한성부판윤에 발탁되고 다시 훈련대장을 거쳐 1734년 형조판서에 올랐다. 이 때 별군직(別軍職) 윤필은(尹弼殷)이 써올린 「전선개조책(戰船改造策)」에 의거, 전선과 거북선의 「개조도(改造圖)」를 새로 작성해 해전의 전술과 해상의 방어대책 강구에 진력하였다. 좌찬성에 추증되었으며, 시호는 무숙(武肅)이다.