Első írásos említése 1350-ből való Farkasfalua néven. A falva, ill. falu végződés lerövidüléséből lett a település neve Farkasfa. 1548-ban létezett Felső- és Alsófarkasfa is (Also et felsew Farkasfalwa). További említései 1581utraque Farkasffalwa. A 14. századbanNagykanizsa és Fölöstöm(Fürstenfeld) közötti kereskedelmi út itt is áthaladt, s itt volt az apátság vámszedő helye.
A falut a törökök1664-ben felégették, de már korábban is adózásra kényszerültek lakosai, ha el akarták kerülni a pusztítást. Török támadás miatt pusztult el 1593-ban Alsófarkasfa. A 19. században számos szlovén telepedett le, akik a mai Muravidékről érkeztek. Bár etnikai közösségük nem tudott fennmaradni és néhány évtizeden belül asszimilálódtak, mindenesetre a településen élők legnagyobb része családnevén viseli szlovén származását még ma is (Bedi, Závecz, Zámodics, Zisko, Zakocs, Oravecz, Bölecz, Vajda, Skerlák, Düh, Zsilavecz, Hodics, Korpics, Kerécz) és sokan emlékeznek is szlovén gyökereikre.
Napjainkban a községnek vannak cigány lakosai is. Még ma is megtalálható az 1980-as években épült meteorológiai állomás épülete. Az állomás később is üzemelt személyzet nélkül. Az állomást mostanra felszámolták, az épület teljesen üres. 2000-ben épült a Szent Anna-templom, ez ma a falu legnagyobb nevezetessége.
Valamikor a faluban állt egy népi-műemlék ház, amit 1804-ben építettek. Azóta ezt lebontották és a szombathelyi múzeumfaluban építették fel újra.
A 2000-es években felmerült a falu önállósodási lehetősége Szentgotthárdtól, mivel más, a városhoz csatolt településhez képest (így Máriaújfalu, Rábakethely) távolabb fekszik tőle. Az erről kiírt népszavazás azonban nem a várt eredményt hozta, ezért a falu Szentgotthárd része maradt.