明天启五年(1625年),筑白水土城,并设驿站,名定南堡,时称泉关,为人滇第二关。
清初属南宁县(今麒麟区)。
民国初改设白水镇。
民国二十六年(1937年),划归沾益县第三区。
1950年,属沾益县第二区。
1958年,改为白水公社。
1963年,改白水区。
1969年,复为公社。
1984年,改区。
1987年11月,改乡。
2000年6月,改镇。
2011年末,白水镇辖:白水、尖山、新排、小塘4个居民委员会,勺达、中心、座棚、大德、王官营、马场、岗路、下坡、潘家洞9个村民委员会;下设21个居民小组、42个村民小组。
2014年3月3日,白水镇的新排社区与盘江镇8社区组建花山街道。