現(xiàn)上莊地域歷史上長期隸屬于昌平縣。
西郊農(nóng)場前身彰化農(nóng)場系1949年11月建立,場部設(shè)在彰化村(今四季青南部),1954年4月改為現(xiàn)名。
1956年3月,白水洼鄉(xiāng)成立。
1958年5月,西郊農(nóng)場場部遷至上莊村村南(屬白水洼鄉(xiāng))。
1958年9月1日,現(xiàn)鄉(xiāng)域并入昌平區(qū)先鋒人民公社。
10月,原白水洼鄉(xiāng)大部(除東坨)、蘇家坨鄉(xiāng)等地劃歸海淀區(qū),并入10月7日新成立的海淀區(qū)永豐人民公社。
1961年4月,永豐公社撤銷,在現(xiàn)鄉(xiāng)域成立上莊人民公社。
與國營西郊農(nóng)場實行場鄉(xiāng)合一的行政體制。
1984年4月4日,上莊公社改鄉(xiāng),鄉(xiāng)政府與西郊農(nóng)場合署辦公。
1998年11月,鄉(xiāng)與農(nóng)場分離。
2003年8月,撤上莊鄉(xiāng)設(shè)立上莊鎮(zhèn)。