隋代初,属南巴县地。
隋大业年间,随县并入连江县,唐武德年间,复为南巴县。
宋开宝五年(972年),随县省并入电白县。
清代,为沙琅巡检司所辖。
民国三十年(1941年),为第三区所辖。
1950年,为电白县第四区所辖。
1953年3月,属第九区。
1957年2月,建立羊角乡。
1959年,建立羊角人民公社。
1983年12月,撤公社置羊角区。
1987年1月,撤区设羊角镇。
2001年1月22日,经国务院批准,从电白县中划出南海镇等6个镇设立茂名市茂港区,羊角镇隶之。
2014年4月,电白县与茂港区合并设立电白区,羊角镇隶之。
2017年9月28日,经广东省人民政府批准,羊角镇划归茂名市茂南区。