자강도 남서부에 있는 군. 북부는 고풍군, 동부는 전천군ㆍ동신군, 남부는 희천시ㆍ평안북도 운산군, 서부는 우시군ㆍ평안북도 동창군과 접해 있다.
현재 행정구역은 1읍 12리로 구성되어 있으며 군 소재지는 송원읍이다.
1952년 군면리 대폐합에 따라 자강도 초산군의 송면ㆍ판면ㆍ도원면을 병합하여 신설한 군으로서 송면에서 ‘송(松)’자와 도원면에서 ‘원(源)’자를 따서 ‘송원군’이라 하였다. 송면은 원 송상면과 송하면을 중심으로 이루어진 면이라는 데서 유래된 지명이고, 도원면은 ‘돈드루’라는 마을을 중심으로 생겨난 면이라는 데서 유래되었다.
1953년에 중풍리 일부가 신흥리에 편입되었고, 1967년에 전창리가 전창노동자구로 승격하였다. 1981년에 희천시 명문리(明文里)·양지리(陽地里)를 흡수하고, 전창노동자구를 다시 전창리로 강등하였다. 1987년에 송원읍을 연강리(淵江里)로 강등하고 명문리를 송원읍으로 승격하였으며, 송파리와 판평리 일부·신흥리 일부를 연강리에, 판삼리를 송관리에, 신흥리 일부와 중풍리를 차평리에, 신흥리 일부를 원대리에, 상거리와 판평리 일부를 월숭리에, 판평리 일부를 고풍군 석상리에 각각 편입하였고 월현리 일부와 회양리 일부를 병합하여 신양리(新陽里)를 신설하였다.
2003년 현재 행정구역은 1읍(송원읍), 12리(송관리, 송천리, 신양리, 양지리, 연강리, 원대리, 월숭리, 월현리, 전창리, 차평리, 창덕리, 회양리)로 구성되어 있다. 송원군 소재지는 송원읍이다.