明清时期牛镇地域分属孝义乡、长宁乡。
1912年,分属北前区,北后区。
1940年,分属弥陀区的青义乡、永安乡、南阳乡和龙湾区的青石乡。
1944年,属弥陀区。
1949年,镇区域分属南阳区、寺前区、虎丘区。
1961年,建牛镇公社,设牛镇区,同年,区内增设龙湾公社。
1984年,更名为牛镇乡。
1992年,牛镇、龙湾2个乡合并设立牛镇镇。
2004年撤乡并镇,天桥乡和原黄镇镇严姜村并入牛镇镇。
2005年村级调整,现辖10个行政村。