Kyrkan bygges troligen som en försvarskyrka för herrgården Ekholmen på 1200-talet. Kyrkan är murad med kraftiga väggar av gråsten. Fönstren liknade då mest skottgluggar. Några säkra uppgifter om ålder finns inte.
Vid en ombyggnad på 1600-talet fick kyrkan i stort sett samma utformning och storlek som den har idag. Kyrkan förlängdes åt öster och fick ett tresidigt kor. Även bänkar installerades då.
1800-talet var en kritisk tid för kyrkorna och Gunnarsnäs kyrka var inget undantag. Mycket gammalt och värdefullt förstördes. Här byggde man in predikstolen bakom altaret, en av predikstolens sidor förstördes helt. Överstycket till altartavlan togs bort för att prästen skulle synas mer.
Alla ståndsgravarna i koret togs bort och stenhällarna förstördes. Vapensköldar som fanns inne i kyrkan försvann, ingen vet vart.
Nästa stora renovering var 1882, då byggdes sakristian och det nuvarande vapenhuset. Nu ordnades också uppvärmning i kyrkan. Redan 1916 installerades elektricitet i kyrkan tack vare en donation.
Nästa renovering var 1946. Då genomgicks kyrkan grundligt under ledning av kyrkoherde Gustaf Nilman: Predikstolen återfick sin plats. Altaret lagades så gott det gick. Dopfunten lagades och ställdes i koret. Det blev eluppvärmning. Fönstren fick antikglas och de två korfönstren med målning sattes in.
Orgeln är installerad 1878.