原張堰鎮域秦代屬海鹽縣。
南朝梁代時先后屬前京縣、胥浦縣。
隋朝開皇年間屬鹽官縣。
唐朝時先為海鹽縣,后屬嘉興縣,天寶年間置華亭縣后屬華亭縣。
唐末至元代,浦東場鹽課司大使署設此。
明代金山巡檢司署、稅課局駐此。
清朝順治十三年(1656),華亭縣析出部分地域設婁縣,鎮區屬婁縣。
雍正四年置金山縣,張堰鎮屬金山縣。
1912年張堰設市,市公所設于花園浜,轄張堰、廊下、錢圩、干巷4鄉鎮。
1927年改稱張堰鄉,設行政局于鎮。
1929年屬第六區(張堰)管轄。
1934年改稱第四區,并析張堰鎮為留溪、欽明兩鎮。
1946年并留溪、欽明鎮為張堰鎮。
1949年新中國成立后,鎮隨縣隸江蘇省蘇南行政公署松江專區。
1951年4月升為縣屬鎮。
1957年成立張堰鄉,下轄12個高級農業生產合作社。
1958年11月劃入上海市。
1959年鎮屬張堰人民公社管轄。
1961年10月鎮社分設,張堰鎮復為縣屬鎮。
1984年張堰人民公社改為張堰鄉建制。
1993年12月撤銷張堰鎮、張堰鄉建制,合并成立新的張堰鎮,名稱使用至今。