清宣統(tǒng)二年(1910),百善置鎮(zhèn)。
1912年后,百善設(shè)鄉(xiāng),屬宿縣管轄。
1930年,百善鄉(xiāng)改宿縣第三區(qū)。
1939年6月,宿西縣辦事處下設(shè)柳孜區(qū),后又改為百善區(qū),下轄9個(gè)鄉(xiāng);1947年,恢復(fù)宿西縣,設(shè)百善區(qū)。
1950年,百善設(shè)鄉(xiāng),屬長(zhǎng)山區(qū)管轄。
同年8月15日,設(shè)百善區(qū)(濉溪縣第五區(qū)),下轄12個(gè)鄉(xiāng)。
1955年12月,區(qū)劃變動(dòng),百善區(qū)下轄6個(gè)鄉(xiāng)1個(gè)鎮(zhèn)(百善鎮(zhèn))。
1957年,百善區(qū)下轄8鄉(xiāng)一鎮(zhèn)(百善鎮(zhèn))。
1958年8月撤百善區(qū),成立百善、徐樓兩個(gè)人民公社。
1962年1月,恢復(fù)百善區(qū)建制。
1969年4月撤百善區(qū),恢復(fù)百善、徐樓兩個(gè)人民公社。
1972年3月,百善公社劃分為百善、柳孜兩個(gè)公社。
1980年12月,百善區(qū)下轄8個(gè)公社;1983年4月,將百善區(qū)西北邊界的6個(gè)生產(chǎn)大隊(duì),分別劃歸鐵佛和劉橋兩區(qū)。
1984年,百善區(qū)由8個(gè)公社改為8個(gè)鄉(xiāng)。
1992年2月,撤區(qū)并鄉(xiāng),將百善鄉(xiāng)、宋廟鄉(xiāng)、楊柳鄉(xiāng)、青衛(wèi)鄉(xiāng)合并為百善鎮(zhèn)。
2000年,百善鎮(zhèn)為副縣級(jí)建制鎮(zhèn)。
2006年2月8日,百善、徐樓兩鎮(zhèn)合并為新的百善鎮(zhèn)。
2013年,徐樓行政村的翟橋自然村劃歸濉蕪產(chǎn)業(yè)園所轄,沿用至今。