西漢時期,屬綿虒縣。
東漢光武帝時期,綿虒縣改道。
三國時期,屬蜀國。
北周天和三年(568年),屬汶川縣,是瓦寺土司屬地,轄花紅樹、洞口、腳(覺)木三寨,置總管。
民國二十四年(1935年),編保1,與耿達(dá)2保稱臥龍聯(lián)保。
民國二十九年(1940年),改臥龍鄉(xiāng)。
民國三十一年(1942年),第三區(qū)署會由三江鎮(zhèn)遷駐此,鄉(xiāng)公所遷駐耿達(dá)橋,后分為二鄉(xiāng),更名飛龍鄉(xiāng),鄉(xiāng)公所駐臥龍關(guān);后第三區(qū)署遷駐三江口,更名臥龍鄉(xiāng)。
1949年,置鄉(xiāng)。
1950年,遷駐花紅樹,屬三江區(qū)。
1958年,鄉(xiāng)改公社。
1959年,撤三江區(qū),屬漩口區(qū)。
1962年,屬映秀區(qū)。
1980年,置臥龍鄉(xiāng)。
1983年3月,臥龍保護(hù)區(qū)內(nèi)汶川縣臥龍、耿達(dá)2公社劃為汶川縣臥龍?zhí)貏e行政區(qū),實行林業(yè)部、四川省雙重領(lǐng)導(dǎo)體制,由四川省林業(yè)廳代管。
1984年,臥龍公社改臥龍鄉(xiāng)。
1990年,臥龍鄉(xiāng)改臥龍鎮(zhèn)。