清乾隆時,設為牛蹄灣鎮。
民國二十三年(1934年),屬第五區(東北區)。
民國二十六年(1937年),改屬第二區屬。
民國二十九年(1940年),為鄉公所,共設10保。
1949年后,屬渭陽區。
1951年3月,設金山區,共轄11鄉。
1952年6月,設第五區,轄12鄉。
1956年8月,改第五區為金山區,轄9鄉。
1957年6月,撤金山區,為金山直屬鄉。
1958年4月,改為金山鄉,9月,改置金山公社。
1969年,撤區并社時,將海涵、常家廟、鄭家山等公社并入金山公社。
1983年,公社改鄉。
2015年5月,撤鄉設鎮。