본래 고구려의 노음죽현(奴音竹縣)이었는데, 신라 경덕왕 때 음죽으로 고쳐 개산군(介山郡)의 영현으로 삼았다. 1018년(현종 9)충주로 이관시키고 뒤에 감무를 두었다.
1413년(태종 13)음죽현(陰竹縣)으로 고치고 현감을 두어 충청도에서 경기도로 다시 이관시켰으며, 선조 때 죽산현(竹山縣)에 편입시켰다가 다시 복구하였다. 1895년(고종 32)이천군에 속하게 하였다가 곧 다시 군이 되었다.
1914년 행정구역개편 때 군을 폐하고 동면(東面) 노평리(老坪里)와 하율면(下栗面) 총곡리(叢谷里)의 일부를 음성군에 편입시키고 나머지 지역은 이천군에 편입시켰으며, 1996년 시로 승격되었다.
조선시대에는 이곳이 경기도 내륙지방의 교통요지로서 남쪽으로는 충주ㆍ괴산ㆍ음성에 이르는 도로가 발달하였고, 북쪽으로는 양지(陽智)ㆍ여주ㆍ이천 등과 연결되었다. 당시에 이곳을 흐르던 천민천(天民川) 유역은 기름진 평야로 특히 추택(楸澤) 부근은 질이 좋은 쌀이 생산되던 곳이었다.
역참으로 유춘역(留春驛)과 무극역(無極驛)이 있었다. 지금의 장호원읍 지역으로 추정된다.