본관은 죽산(竹山). 초명은 일현(一鉉). 자는 내수(內壽). 호는 송곡(松谷). 동몽교관(童蒙敎官) 박규찬(朴奎燦)의 아들이며, 어머니는 풍천노씨(豐川盧氏)로 노석기(盧錫琦)의 딸이다. 뒤에 큰아버지 박규장(朴奎張)에게 입양되었다. 약관에 서울에 올라가 김병학(金炳學)에게 수학하였다.
1876년(고종 13) 진사시에 합격하여 성균관에 입학하고, 1883년 식년문과에 병과로 급제하고 이듬 해 승문원부정자(承文院副正字)가 되었다. 1885년 성균관전적이 되고, 사간원정언과 헌납을 거쳐 사헌부지평·장령 등을 역임하였다.
사간원에 있을 때는 의복제도의 개혁에 반대하는 상소를 올렸으며, 경연에 나아가 왕에게 『자치통감강목(資治通鑑綱目)』을 강의하기도 하였다. 그 뒤 신병으로 일시 사직하였다가 1901년 홍문관시독(弘文館侍讀)이 되고, 이듬 해 통정대부(通政大夫)의 품계에 올랐으며, 1904년 비서원승(祕書院丞)에 이르렀다.
러일전쟁 후 국권이 날로 침탈되자 벼슬을 버리고 귀향하였다. 그는 송병선(宋秉璿)을 찾아가 나라의 앞날을 함께 의논하였으며, 일본의 세력을 반대하기 위하여 민회(民會)를 조직, 회장에 취임하였다.
그 뒤 배일운동을 전개하다가 일본경찰에게 붙잡혀 심한 고문 끝에 풀려났으나, 그 여독으로 건강이 악화되어 죽었다. 저서로는 『송곡유고(松谷遺稿)』 3권이 있다.