嘉善在未置县之前,长期归属于嘉兴治下。宋时当地大户魏、武在此筑塘构屋称魏塘,而后形成市集镇,并设巡司(根据《方舆纪要》中记载“以宋里人魏武居此,商民成市而名”)。
元代时,当地纺纱业兴起,朝廷设立魏塘务,管理税收,足见当时魏塘镇商业繁荣程度。明洪武三年,改设魏塘税课局,宣德初又改置巡检司。
宣德五年,析嘉兴县境分置新县,因境内旧有迁善六乡,俗尚敦庞,少犯宪辟,故日嘉善。初议将县治设于斜塘镇(即西塘镇),但秤土之时,魏塘较重(古人迷信,选址往往需要经过“相土”判断一个地方的地气是否旺盛),遂定址于魏塘镇。
设县之初并未建城墙,江南多水网,县治处于水网环抱中,房屋临河而建自成屏障,县东有日晖桥,县西有太平桥可供出入。正德五年,知县胡洁在日晖桥东筑宾旸门,太平桥西筑平成门,日启夜闭。
嘉靖三十二年倭乱,嘉兴知府刘愨提议筑城,巡抚王忬委任通判邓迁负责筑城,城池于次年十月开工,于三十四年三月竣工。城周一千七百八十五丈,高二丈三尺五寸。
设陆门四座,皆以所临坊名为门名:东门大胜、西门太平、南门庆丰、北门熙宁;四门之上都建有城楼,南北二楼提额与城门相同,东楼提额“东作方望”,西楼提额“西成在望”。
月城一百十四丈,望楼四座;水门五座,其中四座都在陆城门旁,唯南水门独设小李港(后塞废),五座水门旁还设有敌台。万历二十年知县章士雅增土修筑楼橹墩台。
清乾隆三十二年,大修天下城防。知县黄宗伊奉宪领帑修城垣六十五段,重建南北城楼,修葺东西城楼,又修炮台六座,三十四年又两次增修城垣共计六十七丈。至此,城池焕然一新。
1937年11月,日军自杭州湾登陆,嘉善控扼沪杭铁路与杭嘉公路,成为阻击日军进击嘉兴的一线阵地,日军航母多次出动飞机轰炸嘉善城池及周边防御工事,城墙遭到一定程度的破坏。嘉善火车站以东设置有大量国军碉堡,但这些碉堡在日军的围攻下成为孤岛,被逐一攻破。
解放后,城墙被拆除,但古城格局在地图上仍清晰可辨,现存城址占地495平方米,坐北朝南,南侧墙面下部用条石砌成,共7层,其上再砖砌,墙内为夯土,残长27.4米,高5.5米。