1952년 12월 행정구역 개편 당시 초산군의 판면(板面) · 송면(松面) · 도원면(桃源面) 일부를 분리하여 송원군을 신설하였다. 송면의 양강리와 연강리를 병합하여 송원읍을 설치하였으며, 그 외 15개의 리를 관할하였다. 송원이라는 지명은 송면과 도원면을 합성한 것이다. 송면은 송상면(松上面)과 송하면(松下面)이라는 지명에서 유래하였고, 도원면은 북한 방언으로 둥글게 생긴 들을 뜻하는 '돈드루'라는 마을 이름을 한자로 옮긴 것이다.
1967년 전창리가 노동자구로 승격하였고, 1987년 명문리를 송원읍으로 승격하고 송원읍은 연강리로 강등하였다. 2008년 현재 송원읍과 월숭 · 신양 · 연강 · 원대 · 차평 · 월현 · 창덕 · 양지 · 회양 · 송관 · 송천 · 전창 등 12개 리로 이루어져 있다.