宋咸平四年(1001)屬萬歲鄉;宋宣和二年(1120)萬歲鄉改名永壽鄉。
宣統二年(1910),永寧、永壽合為寧壽鎮。
1928年屬第三區。
1932年設立巍山鎮(稱巍山第一鎮、第二鎮、第三鎮)。
1935年,為十九都鄉。
1944年,調整為巍山鎮。
1958年9月稱巍山人民公社。
1959年6月13日復稱巍山鎮。
1988年1月1日巍屏、古光、象崗、胡村鄉并入。
1990年2月巍屏、古光、象崗、胡村4個辦事處恢復鄉建制(由巍山鎮代管)。
1992年5月,巍屏、古光、象崗、胡村鄉撤銷后復并入巍山鎮,撤銷羅山、懷魯鄉并建懷魯鎮。
2003年10月8日撤銷巍山鎮、懷魯鎮,合并建立巍山鎮。
2004年5月27日裘家嶺、廣東塢兩個村委托六石街道管轄(2006年4月正式劃出)。
2005年6月6日歌山鎮金鑫村委托巍山鎮管轄。
2006年,善部坑村從三單鄉整村遷移劃入,屬巍屏社區。