新莊鎮古稱天德鄉,宋以前屬高安縣,宋太平興國六年(981),天德鄉由高安縣劃入新昌縣,屬江南路筠洲管轄,時為宜豐七鄉之一。
1930年,鄉境屬第六區,1932年,析原第六區所轄之天德鄉為第八區,同時編組保甲。
1935年撤銷第八區,鎮境分為2個保聯、11個保。
1938年廢除保聯改設鄉鎮,改稱為新莊鄉,第八保改稱湖城鎮,1940年8月改為宜豐縣天德合作社。
1941年,新莊鄉和湖城鎮合并復名天德鄉,轄11保。
1949年屬棠浦區,1950年鎮鏡分為新莊、小水、龍溪、筠山4鄉,1956年上述4鄉合并為新莊鄉,鄉人民委員會駐新莊街,1958年移至現址。
是年成立人民公社,下設生產大隊、生產隊。
1968年全鎮轄6個大隊、1個畜牧場,1972年分為8個大隊、1個畜牧場、1個農科所。
1983年公社復名鄉,下設村和村民小組。
1996年撤鄉設鎮。