19. gadsimtā tagadējā Skaņkalnes pagasta teritorijā bija Skulberģu un Jaunates pagasti. 20. gadsimta sākumā Jaunates pagastu pievienoja Skulberģu pagastam.[5] 1925. gadā Skulberģu pagastu pārdēvēja par Skaņkalnes pagastu. 1935. gadā tā platība bija 128,3 km². 1945. gadā pagastā izveidoja Jaunciema un Skaņkalnes ciema padomes, bet pagastu 1949. gadā likvidēja. 1954. gadā Skaņkalnes ciemam pievienoja likvidēto Jaunciema ciemu. 1990. gadā ciemu reorganizēja par pagastu.[6] 2009. gadā pagastu kā administratīvo teritoriju iekļāva Mazsalacas novadā.