北山镇位于湖南省长沙县中部偏西，地处长沙县、开福区、望城区与汨罗市四区县市交汇处。地缘上，北山镇北与汨罗市高家坊镇、弼时镇接壤，东与安沙镇为邻，南连开福区捞刀河镇、清竹湖镇，西与望城区桥驿镇交接，总面积148.8平方公里，总人口52,840人；全镇辖辖18个村3个居委会；镇政府驻蒿塘社区。
历史.今北山镇在1995年长沙地区撤区并乡镇之前属北山区北山乡、牌楼乡、石常乡地域，撤区并乡后三乡合并组建北山镇。2004年村级区划调整，调整之前47个村、3居社区，47个村分别为北山村、长乐塘