明清設萬全鄉(xiāng)。
清末鄉(xiāng)改鎮(zhèn),萬全鎮(zhèn)之名始于此。
民國初,沿襲舊稱。
1929年改稱萬全區(qū)。
1932年取消原有區(qū)名,將城廂和萬全合并為第一區(qū)。
1938年復萬全區(qū)。
1940年撤銷萬全區(qū),所屬各鄉(xiāng)歸縣直管。
1947年又復萬全區(qū)。
建國后仍設萬全區(qū)。
1956年撤銷萬全區(qū),所屬各鄉(xiāng)歸縣直管。
1958年5月再復萬全區(qū),11月區(qū)改公社,稱萬全公社。
1961年撤社復區(qū),名稱不變。
1992年轄區(qū)內的湖嶺鄉(xiāng)并入宋橋鎮(zhèn),練川鄉(xiāng)和鄭樓鄉(xiāng)合并建立鄭樓鎮(zhèn),臨區(qū)鄉(xiāng)和石塘鄉(xiāng)合并,更名萬全鄉(xiāng),保留宋埠鎮(zhèn)、榆垟鎮(zhèn)、水亭鄉(xiāng)。
2000年水亭鄉(xiāng)和萬全鄉(xiāng)劃歸昆陽鎮(zhèn)。
2010年鄭樓鎮(zhèn)、宋橋鎮(zhèn)、縣輕工園區(qū)管委會、第一農場合并為萬全鎮(zhèn)。
2011年撤銷榆垟鎮(zhèn)和宋埠鎮(zhèn),并入萬全鎮(zhèn)。
2012年萬全鎮(zhèn)下屬的練川社區(qū)除周垟村、葉垟村之外,其余13個村劃歸昆陽鎮(zhèn)。
至此,萬全鎮(zhèn)下設湖嶺、宋橋、鄭樓、榆垟、宋埠等5個社區(qū),71個村。
2015年,鄭樓社區(qū)新增順溪庫區(qū)移民村萬順村,萬全鎮(zhèn)共轄72個村。
2016年宋埠社區(qū)從萬全鎮(zhèn)析出,和鰲江鎮(zhèn)西灣社區(qū)成立海西鎮(zhèn)。