春秋戰國屬吳、越、楚管轄。秦、漢分屬番縣及馀汗縣境。吳、晉至隋為鄱陽、馀干二縣地。唐以后為鄱陽、馀干、樂平、貴溪四縣屬地。明正德七年(1512年),析鄱陽、余干(萬春鄉)、樂平、貴溪4縣地置萬年縣,以縣治于萬年峰之陽而得名,隸饒州府。1912年隸潯陽道。1926年廢道隸于省。1932年隸第四行政區。1935年改隸第六行政區。1949年4月28日萬年解放,先后隸屬鄱陽、樂平、浮梁專區。1952年9月隸上饒專區。2000年10月隸上饒市至今。
1984年,恢復青云鎮、石鎮(贛府廳字[1984]249號)。1985年4月18日,設立梨樹塢、盤嶺、馬家、山家寨鄉(贛府廳字[1985]230號)。
1991年6月5日,撤銷梓埠鄉,設立梓埠鎮(贛民字[1991]93號批復)。1993年6月25日,中合鄉駐地遷至湖云并更名為湖云鄉(贛民字[1993]81號批復)。
1995年9月29日,撤銷裴梅鄉、大源鄉,設立裴梅鎮、大源鎮(贛民字[1995]186號批復)。至此,全縣轄6個鎮、13個鄉:陳營鎮、梓埠鎮、石鎮、大源鎮、青云鎮、裴梅鎮、湖云鄉、大黃鄉、珠田鄉、齊埠鄉、珠山鄉、汪家鄉、盤嶺鄉、馬家鄉、上坊鄉、梨樹塢鄉、山家寨鄉、蘇橋鄉、垱下鄉。
1997年,轄6鎮13鄉,面積1135.5平方千米,人口33萬。縣政府駐陳營鎮。
2000年第五次人口普查,全縣總人口324922人,其中:陳營鎮41929人、石鎮鎮23109人、青云鎮20179人、梓埠鎮38402人、大源鎮11894人、裴梅鎮12431人、湖云鄉20486人、齊埠鄉22046人、大黃鄉15189人、汪家鄉17810人、珠山鄉15461人、上坊鄉17908人、蘇橋鄉15762人、當下鄉16054人、梨樹塢鄉8278人、盤嶺鄉5066人、山家寨鄉6219人、馬家鄉3594人、珠田鄉13105人。
2001年12月3日,撤銷馬家鄉,劃歸陳營鎮;撤銷盤嶺鄉,劃歸大源鎮;撤銷山家寨鄉,劃歸上坊鄉(贛民字[2001]570號批復)。
2002年8月8日,垱下鄉更名為南溪鄉;梨樹塢鄉政府駐地遷至富林村,并更名為富林鄉(贛民字[2002]179號批復)。至年底,全縣面積1140平方千米,人口35.2萬人,轄6個鎮、10個鄉,11個居委會、167個行政村。
2003年10月21日,撤銷富林鄉,成建制劃歸裴梅鎮管轄(贛民字[2003]273號批復)。2003年底,全縣總人口36.1萬人。
2004年底,全縣轄6鎮9鄉:陳營鎮、石鎮鎮、青云鎮、梓埠鎮、大源鎮、裴梅鎮、湖云鄉、齊埠鄉、大黃鄉、汪家鄉、珠山鄉、上坊鄉、蘇橋鄉、南溪鄉、珠田鄉。
2006年1月20日,撤銷珠山鄉,成建制劃歸陳營鎮管轄;撤銷大黃鄉,成建制劃歸石鎮鎮管轄;撤銷南溪鄉,成建制劃歸蘇橋鄉管轄(贛民字[2006]5號批復)。