본관은 청주(淸州). 자는 원백(元白). 호는 백하(白下) 또는 해기(海寄). 경상북도 의성 출생. 아버지는 송재선(宋在譱), 어머니는 밀양손씨(密陽孫氏)로 통덕랑(通德郞) 손택관(孫宅觀)의 딸이다. 처음 노석귀(盧錫龜)에게 글을 배웠고 뒤에 허전(許傳)의 문하에서 수학했다.
재주가 뛰어나서 시를 잘했으나 벼슬에 뜻을 두지 아니하고 오직 심성의 학을 연구하고 경륜을 닦았다. 1866년(고종 3) 양요(洋擾)가 일어나서 세상이 시끄러워지자 소백산 아래 들어가서 은거하면서 학문을 닦았다.
경상도관찰사 이근필(李根弼)과 순흥부사(順興府使) 임철수(林徹洙)의 권유로 진사시에 합격하였다. 서울에서 대원군 이하응(李昰應)을 만나 정치를 의론하고, 만언소(萬言疏)를 올려 조정에 기강을 세우고 국방을 튼튼히 하며 백성을 사랑할 것을 진언하였다.
1884년 갑신정변이 일어나서 고제도가 없어지고 신제도가 반포되자 이에 항거하여 반대소를 올려 즉각 중지할 것을 호소했다. 그 뒤에 세상에 뜻을 버리고 당시의 저명한 학자인 신좌모(申佐模)·조운식(趙雲植) 등과 학문에 대한 의견을 교환하며 후진의 교육에 전념하였다. 저서로는 『백하문집(白下文集)』 4권이 있다.