唐仪凤二年(677)为永兴县治所在地;唐天宝元年(742)即为萧山县治所在地。
于北宋太平兴国三年(978)分属崇化、昭明2乡;元至元十六年(1279)改崇化乡为二十都,昭明乡为二十一都;明清仍沿元制;清宣统二年(1910)设城区;1929年城区撤销,划分为九个里,属第一区;1932年第一区分设为市东、河北、市西、河南、西河5个镇;1933年又将市东划分为桥东、桥西2镇;1934年上述6个镇合并为城厢镇;1938年第一区改称城区;1939年城区改为东岳区,城厢镇先由县直属,后为东岳区管辖;1945年为县辖镇;1949年5月5日城厢镇解放,属于城区;1950年2月,城厢镇属于城厢区,同年7月改为西蜀区,同时城厢镇从西蜀区划出,由县直属;1958年10月改为城厢人民公社,下设3个大队,辖16个居民村;1959年6月恢复镇建制;1961年9月设湘湖区,城厢镇属湘湖区管辖;1963年2月湘湖区撤销,仍为县直属镇;1988年1月萧山撤县设市,城厢镇为市治所在地;1992年5月撤区扩镇并乡,城北、城东、新塘、裘江、来苏、城南、石岩7个乡并入城厢镇,改设办事处,同时长山镇的柳桥、塘湾、墩里吴3个村划入城北办事处;1994年12月31日设立通惠、江寺、城西3个街道办事处;1996年5月24日西兴镇的东湘、杜湖、湖头陈3个村划入城厢镇,同时设立镇直属村管理办公室;1998年8月26日撤销新塘、来苏、石岩3个办事处,并从城厢镇划出,设立新塘、来苏、石岩3个乡;至2000年年底,城厢镇下设城北、城东、裘江、城南4个农村办事处和通惠、江寺、城西、北干4个城区街道办事处;2001年7月撤销城厢镇所属的8个办事处,并在原城西、通惠、江寺办事处行政区域内设立城厢街道,其余办事处划出另建北干、新塘、蜀山3个街道;2002年3月将新塘街道的高桥、新桥头、车家埭、梅花楼、徐家河居民区和蜀山街道的仙家里、南门居民区划归城厢街道管辖,将城厢街道的商城西村、通达里居民区划归新塘街道管辖,其行政区划和名称沿用至今。