商,属艾侯国。
秦、汉属艾县。
自唐贞元十六年(800)至清末(1911),属分宁县、宁州、义宁州高乡三十八都,崇乡四十一、四十二都。
1912年后,属义宁县。
1914-1949年,隶黄龙区,设西港乡。
1949年后,属马坳区、杭口区(部分),分设为詹坊、官塅、上湖、修寒4个乡。
1952年,上湖分为堰上乡、马龙乡。
1956年,修寒、马龙并为修湖乡。
1958年,修湖、堰上合并为上湖乡,詹坊并入官塅乡。
1958年9月,成立西港公社。
1960年3月,并入马坳公社,1961年6月,复立西港公社。
1968年11月,并入马坳公社。
1972年10月,复立西港公社。
1984年5月,撤社建西港乡。
1999年4月,撤乡建西港镇,沿用至今。