南口地区在北魏时期形成村落。
明代及以前,南口村及以北部分地区属延庆州(县),以南地区属昌平州(县)。
民国元年(1912年),昌平、延庆两县经过协商,以南口火车站、南口机厂为中心设立南口镇,铁路以南归昌平县,铁路以北归延庆县,两县共管一镇。
1949年4月,南口镇划归昌平县。
1950年,撤销南口镇,属昌平县第三区,为区公所驻地。
1953年11月,恢复南口镇。
1990年5月,南口镇分为南口镇和道南镇。
1997年12月,桃洼乡、道南镇并入南口镇。
1998年9月,土楼乡的3个村并入南口镇。