南口地区在北魏时期形成村落。明代及以前,南口村及以北部分地区属延庆州(县),以南地区属昌平州(县)。民国元年(1912年),昌平、延庆两县经过协商,以南口火车站、南口机厂为中心设立南口镇,铁路以南归昌平县,铁路以北归延庆县,两县共管一镇。1949年4月,南口镇划归昌平县。1950年,撤销南口镇,属昌平县第三区,为区公所驻地。1953年11月,恢复南口镇。1990年5月,南口镇分为南口镇和道南镇。1997年12月,桃洼乡、道南镇并入南口镇。1998年9月,土楼乡的3个村并入南口镇。
截至2018年末,南口镇有户籍人口45776人。
截至2020年6月,南口镇下辖11个社区和28个行政村,
镇政府驻昌平区南口镇南七路5号。
2011年,南口镇财政总收入49120万元,比上年增长33%。其中地方财政收入1.049亿元,比上年增长39.2%。从各主要税种看,完成营业税4344万元,增值税2.23亿元,企业所得税1.43亿元,个人所得税3602万元,分别比上年增长41.5%、10.2%、62.5%、56.3%。