商周时期属吴国。
秦代属会稽郡吴县。
西汉时期置有虞乡。
东汉永建四年(129),属吴郡吴县,境内置有虞乡、南沙乡。
西晋太康二年(281),南沙乡割属毗陵郡暨阳县。
太康四年,以虞乡置海虞县,属吴郡。
东晋咸康七年(341),以南沙乡置南沙县,境域分属吴郡海虞县、晋陵郡南沙县。
南朝齐时,分海虞县北境置海阳县,属晋陵郡。
梁天监六年(507),海虞、海阳、南沙等县属信义郡;大同六年(540),于南沙之地置常熟县,属信义郡。
隋开皇九年(589),废信义郡,海虞等6县并入常熟县;废晋陵郡,于县置常州,旋移常州理于晋陵县(今属常州市),常熟县属苏州。
唐武德七年(624),县治移至海虞城(今虞山镇)。
宋代属平江府。
元元贞元年(1295),升为常熟州,属平江路。
明洪武二年(1369),复为常熟县,属苏州府。
清雍正二年(1724),析常熟县东境置昭文县,两县同城而治。
清宣统三年(1911年)十一月,昭文县并入常熟县。
1934年,属无锡行政督察区(后改为第二行政督察区)。
1949年4月,以常熟县城区为基础设常熟市(县辖),常熟县属苏南行政区苏州专区。
1951年9月,常熟市升为苏州专区辖市。
1953年,常熟县、常熟市属江苏省苏州专区。
1958年4月,常熟市并入常熟县,原城区改为虞山镇,原郊区改为城郊乡。
1983年1月,苏州地区撤销,常熟县属苏州市;3月,常熟县改市。