본관은 은진(恩津). 자는 경소(景韶). 송양필(宋良弼)의 증손으로, 할아버지는 송전(宋銓), 아버지는 송지렴(宋知濂), 어머니는 남이간(南履簡)의 딸이다.
입사(入仕) 전에는 생원으로 지내다가 1845년(헌종 11) 별시문과에 병과로 급제하였다. 1847년 홍문록(弘文錄: 홍문관의 교리·수찬을 선임하는 제1차 기록)과 행도당록(行都堂錄: 의정부에서 교리·수찬을 선임하기 위한 제2차 추천기록)을 거쳐 그 해 10월에는 충청도암행어사에 제수되었다.
이듬해 사헌부장령을 지냈으며, 1849년(철종 즉위년) 홍문관교리가 되었다. 1859년 예방승지를 지냈으며, 1864년(고종 1) 동의금부사가 되었다. 1865년 다시 이조참판에 올랐으며, 이듬해 행호군이 되었다.
그 해 3월 형조판서의 직에 제수되었으며, 같은해 8월 다시 한성부판윤에 임명되었다. 1867년 예조판서에 제수되었으며, 1869년에는 다시 한성부판윤을 지냈다. 1872년 홍문관제학에 임명되었으며, 그 해 10월에 이조판서에 올랐다.