본래 고구려사열이현(沙熱伊縣)이었는데 757년(경덕왕 16)청풍으로 고쳐 내제군(奈提郡)의 영현이 되었다. 1018년(현종 9)충주에 속하였다가 뒤에 감무를 두었고 1317년(충숙왕 4) 이 고을의 중 청공(淸恭)이 왕사(王師)가 되었으므로 지군사(知郡事)로 승격하였다.
1660년(현종 1) 부(府)로 승격되었으며, 1895년(고종 32)에 군이 되었다. 1914년 행정구역개편 때 제천군에 병합시켜 읍내면(邑內面)이라 하였다가 1917년에 청풍면으로 고쳤다.
지명의 유래는 이곳의 산천경개가 빼어나 남도의 으뜸으로 쳐, 이에 따라 청풍명월(淸風明月)이라 한 데에서 따온 것이다. 조선시대에는 진산(鎭山)인 인지산(因地山) 부근의 남한강유역에 한벽루(寒碧樓)가 있어 많은 시인 묵객이 즐겨 찾았던 곳이다.
군사적으로는 오현봉수(吾峴烽燧)가 있어 동쪽으로 단양군소이산봉수(所伊山烽燧)와 서쪽의 충주심항산봉수(心項山烽燧)에 연결되었다.