清代時期,屬紅水分縣。
民國元年(1912年)后,屬紅水縣、景泰縣三區。
1952年,析置為紅水鄉、白墩子鄉。
1955年,合并為紅水鄉。
1956年,將白墩子分出成立白墩子鄉。
1958年,合并為紅水公社。
1962年,增設白墩子公社。
1964年,合并為紅水公社。
1984年,公社改鄉。
1991年1月,將紅水鄉劃分為白墩子(駐地三個山村)、四個山、紅水、漫水灘4鄉。
2000年6月,撤鄉建上沙沃鎮。
2005年1月,將原八道泉鄉的段家井、王莊、榆樹、邊外等4個村并入上沙沃鎮。