清代,屬海晏都。
民國時期,為第九區。
中華人民共和國建立初期,仍稱第九區。
1957年,撤區并鄉,分5個鄉。
1958年初,并為3個鄉,建立海晏公社。
1959年和1961年,先后析汶村、沙欄而置海宴公社。
1979年8月,新河、護享兩大隊劃歸海宴華僑農場。
1984年3月,改制設區,稱海宴區。
1985年,改稱海宴中區。
1986年,撤區改鎮。
2001年,撤銷沙欄鎮,并入海宴鎮。
2003年12月,山咀、大海兩個村民委員會劃歸川島鎮管轄。