明清至民国初期,乡境分属定安县(含南建州1329年—1369年),南乡归化图喃唠崛和乐会县(今琼海市)合水图南崛、上桐。
民国二十四年(1935年),分属白沙县和保亭县。
民国三十五年(1946年),改属琼崖东区陵(水)保(亭)特别区,为西安乡。
民国三十七年(1948年),属琼中县,为南万乡。
1949年,复属琼中县,为西安乡。
1952年,琼中县撤县,复归白沙县和保亭县。
1952年,琼中县复县,再次划归琼中县,为长安乡。
1958年9月,为太平公社长安管理区。
1961年5月,析出成立长安公社。
1983年,置设上安区公所。
1986年,改为上安乡。