고구려의 조파의현(租波衣縣)이었는데 뒤에 휴암(鵂巖)으로 고쳤다. 757년(경덕왕 16)서암군(栖巖郡)으로 바꾸어 한주(漢州)에 예속시켰다. 940년(태조 23)봉주로 고쳤고, 995년(성종 14) 방어사(防禦使)를 두었으며, 012년(현종 3)황주에 예속시켰다.
원종 때 원나라가 이곳에 봉주경략사(鳳州經略司)를 두었으며, 고려 땅이 된 뒤 1285년(충렬왕 11) 방어사를 두었다가 지봉양군사(知鳳陽郡事)로 하였다. 뒤에 봉주로 다시 바꾸었고, 1413년(태종 13)봉산군으로 하였다.
이곳은 신라 때 북방의 국경지였고, 고려 때는 동쪽의 자비령(慈悲嶺)을 중심으로 원나라의 동녕로총관부(東寧路摠管府)와 경계를 이루어 동선관(洞仙關)은 중요한 군사기지였다.