竿塘乡包括马祖列岛的南竿、北竿、高登等岛和东涌、西涌岛。位于福州市连江县境东南和东部海疆,雄峙闽江口,与黄岐半岛一衣带水,最近点仅隔9.25公里。据《福建通志》载,南竿岛古代属闽县。北竿岛属连江县,唐宋归永福乡崇德里,元至清属二十六都。时岛上居民不多,且因交通等条件限制,官府未设行政机构,只有军事设防。岛上常有匪盗啸聚,岛民受害不浅。明代后迁岛居民渐多,自成村落。明嘉靖间,倭寇横行,官府在岛上设哨防患,建烟墩报警。清初郑成功收复台湾后,常以马祖列岛为反清复明活动基地,清廷因此于顺治十八年(1661年)厉行海禁和迁界,岛民被迫迁徙连江县城近郊,到康熙十九年(1680年)才复界回迁。民国时期南北竿和西洋均属连江管辖,初属第八区,设南竿、北竿、西洋3乡。民国24年编查保甲,连江县政府派员赴岛编查,初设竿(塘)西(洋)联保,不久分设竿塘、西洋2个联保,属第三区署。民国25年12月12日,东涌岛划归连江,编入西洋联保。民国26年7月7日抗战爆发后,日本侵略军于同年9月10日侵占南北竿塘等岛。民国28年秋,林义和抢走竿塘警备队枪支10多枝为匪,并与日军厦门“兴亚院”挂钩,任伪“和平救国军”第二集团军第一路司令,长期占据马祖列岛。抗战胜利后,重新编设竿塘乡和西洋乡。竿塘乡辖7保74甲:马祖保12甲、牛角保10甲、桥仔保10甲、津铁保11甲、山垅保10甲、白镜保11甲、塘岐保10甲。西洋乡辖6保67甲,其中东涌保7甲。
民国38年8月16日连江解放后,马祖列岛和西洋、东涌等岛被台湾当局所盘踞。1953年西洋岛解放后划属霞浦县辖。