南口地區在北魏時期形成村落。
明代及以前,南口村及以北部分地區屬延慶州(縣),以南地區屬昌平州(縣)。
民國元年(1912年),昌平、延慶兩縣經過協商,以南口火車站、南口機廠為中心設立南口鎮,鐵路以南歸昌平縣,鐵路以北歸延慶縣,兩縣共管一鎮。
1949年4月,南口鎮劃歸昌平縣。
1950年,撤銷南口鎮,屬昌平縣第三區,為區公所駐地。
1953年11月,恢復南口鎮。
1990年5月,南口鎮分為南口鎮和道南鎮。
1997年12月,桃洼鄉、道南鎮并入南口鎮。
1998年9月,土樓鄉的3個村并入南口鎮。