본관은 밀양(密陽). 자는 정경(定卿). 할아버지는 형조판서 박진원(朴震元)이고, 아버지는 첨지중추부사 박계영(朴啓榮)이며, 어머니는 유명남(柳命男)의 딸이다.
통덕랑(通德郎)의 신분으로 1675년(숙종 1년) 식년 문과에 을과로 급제하였다. 1676년 사간원정언(司諫院正言)이 되었고, 1678년에 사헌부지평(司憲府持平)·장령(掌令)을 거쳐 이듬해에는 사간원헌납(司諫院獻納)이 되고, 그 이듬해에는 사헌부집의(司憲府執義), 사간(司諫)에 임명되었다.
이 시기에는 위와 같은 언관직에 반복하여 임명되면서, 효종에 대한 예론(禮論)을 그르친 것으로 처분된 송시열(宋時烈)의 죄상을 종묘에 고하자고 대사간(大司諫) 이원정(李元禎)과 함께 주장하는 등, 남인의 입장에서 정치활동을 하였다.
1678년에는 암행어사로 지방에 파견되기도 하였다. 1680년 경신환국 당시 대사간 민암(閔黯)과 함께 사간직에서 체차당한 뒤 관직에 오르지 못하다가 1689년 기사환국이 일어나 서인(西人)이 몰락하고 남인(南人)이 등용될 때 집의로 복귀하였다.
같은 해 특별히 승지로 발탁되어 1691년까지 여러 차례 승지를 역임하였으며, 당시 이이(李珥)와 성혼(成渾)을 문묘에서 출향한 것을 비난하는 서인 유생들을 처벌할 것을 요구하는 등의 정치활동을 하였다. 1690년에 강원도관찰사로 임명되었다.