沙塘镇位于东经112°32′——112°40′。北纬22°24′——22°31′之间,开平县中北部,距县城三埠镇19公里。沙塘镇南北长14公里,东西宽8公里,东邻月山镇。整个城镇被群山环绕,与邻近的城镇形成了天然的边界。四面环山,南北高,东南低,中间低。主要河流为苍江,发源于大沙、龙胜,由苍城自西向南流经沙塘,汇入潭江。沙塘原名长沙塘。因为地方多沙,长在沧江边,周围有很多鱼塘,所以叫长沙塘。