본관은 여산(礪山). 송윤번(宋允蕃)의 증손으로, 할아버지는 송전(宋琠)이며, 아버지는 송인산(宋仁山)이다.
음직으로 경덕궁직(敬德宮直)에 보임되었으며, 1451년(문종 1) 경상도행대감찰을 거쳐 벼슬이 누천되어 호조좌랑에 올랐다.
1457년(세조 3) 소윤(少尹)으로 알성시(謁聖試)에 병과로 급제하고, 사간원지사간(司諫院知司諫)·사헌부집의(司憲府執義)를 거쳐, 지병조사·병조참의가 되었다. 1463년 가선대부(嘉善大夫)에 올라 전라도관찰사에 임명되어 민정을 순찰하였고, 이듬해 병조참판·예조참판을 지냈다.
다시 외직으로 나가 충청도관찰사가 되었으며, 1467년 대사간이 되었다. 이어 대사헌을 역임하면서 국가의 기강확립에 힘썼고, 예종이 사망하자 청시사(請諡使)로 명나라에 내왕하며 외교활동을 하여 전답과 노비를 하사받았다. 1470년(성종 1) 호조참판이 되었다.
이듬해 성종의 즉위에 공로가 있어 좌리공신(佐理功臣) 2등에 책봉되고 여산군(礪山君)에 봉하여졌다. 1472년 이조참판에 올랐으며 작위는 자헌대부(資憲大夫)에 이르렀다. 직무에 충실하였고 성품이 강직하였으며 무예에 밝았다. 시호는 공무(恭武)이다.