본관은 인동(仁同). 자는 몽여(蒙予), 호는 석문(石門). 안동 출신. 아버지는 첨지중추 장유(張瑜)이며, 어머니는 예안김씨(禮安金氏)로 김돈(金墩)의 딸이다. 장신(張璶)의 문하에서 수학하였다.
1699년(숙종 25) 증광문과에 병과로 급제하였으나 같은 급제자 중의 김인지(金麟至)와 이도징(李道徵)이 시관에게 뇌물을 주고 부정합격된 사실이 발각되어, 시험 자체가 무효화되고 홍패를 수거당하였다. 1705년 진사시에 합격하여 성균관에 들어가니 세상사람들이 선급제후진사(先及第後進士)라고 불렀다.
이 소문이 왕에게 알려져 1699년 급제자 중 부정에 관계된 사람만 제외하고 모두 다시 합격되었다. 그 뒤 성균관의 학유·학록·학정을 거쳐 1714년 박사가 되었고, 이듬해 전적에 올랐다. 1716년 사헌부감찰을 지내고, 1720년 성균관직강이 되었다.
1722년(경종 2) 성균관사예를 거쳐 예조정랑이 되었으며, 이듬해 함흥의 능침실화사건에 이사상(李師尙)과 함께 봉심관(奉審官)이 되어 다녀왔다. 그 뒤 양산군수로 나가서는 탐리를 다스리고, 세금과 부역을 경감하며, 생업을 권장하는 등 선정을 펴 군민이 장후상의 공적을 추모하여 철비를 세웠다.
1726년(영조 2) 선전관에 제수되었으나 부임하지 않았고, 1728년 이인좌의 난에는 근왕병을 일으켜서 적을 막았다. 저서로는 『석문시고(石門詩稿)』 3권이 있다.