본래 고구려의 식달현(息達縣)이었는데, 신라 헌덕왕 때토산현(土山縣)으로 고쳤고, 1018년(현종 9)황주(黃州)에 귀속시켰다. 1322년(충숙왕 9) 공신 조인규(趙仁規)의 고향이라 하여 상원으로 고치고 군으로 승격시켰고, 1914년 행정구역개편 때 중화군(中和郡)으로 편입되어 상원면이 되었다.
조선시대는 대동강 남쪽의 산간분지에 있어 진산(鎭山)인 반룡산(盤龍山)을 중심으로 구란산(龜卵山)ㆍ관음산(觀音山)ㆍ성산(城山) 등이 둘러싸고 있었다. 특히, 관음산에 있는 가수굴(佳殊窟)은 석회동굴로 당시에도 알려져 있었다. 상원은 교통의 요지로 평양ㆍ중화(中和)ㆍ삼등(三登)ㆍ강동(江東)ㆍ수안(遂安) 등을 연결하는 도로가 발달하였다.