본관은 여산(礪山). 자는 주경(周卿). 송징규(宋徵奎)의 증손으로, 할아버지는 송창명(宋昌明)이고, 아버지는 송익상(宋翼庠)이며, 어머니는 김상효(金尙孝)의 딸이다.
1794년(정조 18) 정시 문과에 병과로 급제하고, 1795년 성균관전적(成均館典籍)으로 등용되어 그 해 사간원정언(司諫院正言)이 되고, 이어서 홍문관의 수찬(修撰)·교리(校理), 사간원의 정언·사간을 거쳐 대사간이 되었다. 그 뒤 이조참의가 되었다.
한때 외직인 강화부유수로 나갔다가, 1821년(순조 21) 정조사(正朝使)의 부사(副使)가 되어 청나라에 다녀온 뒤 예조판서가 되었다. 1827년 한성부판윤이 되었으며, 이듬해에 동지사(冬至使)가 되어 다시 청나라에 다녀왔다.
1829년 대사헌으로 있을 때에는 조정백관의 기강을 바로 세우는 데에 전력을 기울였다. 1831년에 다시 예조판서가 되었다가 이어서 형조판서가 되었다. 그 뒤 헌종 때 기로소(耆老所)에 들어갔다.