唐大中元年(847年)置羅源場,咸通二年(861年)升場為鎮,改名永貞,五代閩龍啟元年(933年)升為永貞縣,宋天禧五年(1021年)改永昌縣,乾興元年(1022年)定名羅源縣,以境內羅江(今羅源溪)流分三支,同出一源得名。
歷屬長樂府、福州、福安府、福州路、福州府、閩海道。1949年8月16日解放。1950年屬閩侯專區,1956年改屬福安專區,1962年屬福州市,1963年復屬閩侯專區,1970年又屬福安專區(1971年改稱寧德地區),1983年劃歸福州市。
宋時分為崇德、常熟、同樂3鄉。元代仍沿其舊。明代仍為3鄉,但改縣郊為4隅,后并為2隅。清沿明制,改稱東隅、西隅、西路、北路、東路。民國25年(1936年)劃為3區,民國31年并為飛竹區,民國35年劃為鳳山、護林、鑒江、洪皇4鎮和鰲塔、荻巽、松山、壽竹、鳳石、碧廩、中滿、豐深、福峰9鄉。民國38年劃為鳳山、鑒碧2鎮和洪林、松獲、鳳壽、河陽、福豐5鄉。
新中國成立后,劃為起步、中房、碧里、霍口、洋柄、城關、松山、洋頭8區。1958年劃為6個公社;后改為區,區下轄35個公社。1965年撤區并社,劃為11個公社。1984年實行政社分開,各公社分別改為鄉(鎮),共設2個鎮8個鄉和1個畬族鄉,后又陸續將4個鄉改鎮。2000年,羅源縣轄鳳山、中房、鑒江、起步、松山、飛竹6個鎮,洪洋、西蘭、白塔、碧里4個鄉和霍口畬族鄉,設27個居委會、165個行政村。面積1187平方千米,人口25.2萬人。
2000年第五次人口普查,羅源縣常住總人口232351人,其中:鳳山鎮55568人,松山鎮33410人,起步鎮26771人,中房鎮19727人,飛竹鎮13585人,鑒江鎮12105人,白塔鄉13323人,洪洋鄉12068人,西蘭鄉12825人,霍口畬族鄉14779人,碧里鄉18190人。
2003年末,羅源縣戶籍人口25.34萬人,其中非農業人口5.79萬人。轄6個鎮、4個鄉、1個民族鄉:鳳山鎮、鑒江鎮、起步鎮、松山鎮、中房鎮、飛竹鎮、白塔鄉、洪洋鄉、西蘭鄉、碧里鄉、霍口畬族鄉。
2004年,全縣轄6鎮5鄉、193個村(居),總人口25.5萬,其中畬族人口占8.1%。
2010年第六次人口普查,羅源縣常住總人口207677人,其中:鳳山鎮78084人,松山鎮22960人,起步鎮22230人,中房鎮9725人,飛竹鎮7109人,鑒江鎮7353人,白塔鄉9511人,洪洋鄉8356人,西蘭鄉10628人,霍口畬族鄉8300人,碧里鄉15669人,羅源灣7752人。