张兰镇为西汉文帝中都旧址。
隋唐时期名张兰堡。
明初境内设南张里、北张里、田堡里、上梁里、下梁里、张原里、史村里。
明万历二十七年(1599),合里并甲,境内设南张里、张史里(张原里与史村里合并)、北堡里(北张里与田堡里合并)、东梁上下里(东神里与上里里、下里里、下梁里合并)。
清顺治九年(1652),谷南兴里与南张里合并为北谷里、北堡里与张史里合并为北史里。
清乾隆十七年设巡检,乾隆二十二年置汾州府同知衙驻张兰,专管洪山水利事务。
1918年改为区村制,为第四区管辖。
1949年,属一区人民政府,1953年6月,设张兰乡,属第一区。
1958年5月,张兰、北辛武2乡合并为张兰乡。
同年9月,并入跃进人民公社。
1959年3月,设张兰人民公社,1961年4月,三县分设后,复设张兰公社。
1963年,张兰公社的东街、西街、南街、北街四个大队合并为张兰大队,张兰公社辖9个生产大队。
1984年4月,政社分开,改称张兰乡。
同年9月,改称张兰镇,沿用至今。