The Preds scored three times in the opening period and kept Edmonton off the scoreboard until 7:22 of the third, despite being outshot 41-28 for the game.
Jean-Francois Jacques, Ryan Potulny and Dustin Penner scored for the Oilers, who are 1-11-1 in their last 13 games. Jeff Deslauriers gave up four goals on 14 shots before being relieved by Devan Dubnyk, who made 13 saves.
Nashville was up 4-0 after Hornqvist's goal at 6:40 of the second period. Edmonton ended the shutout on Jacques' seeing-eye shot along the right goal line slipped past Rinne at 7:22 of the third.
Edmonton added two more goals in the closing minutes, including Penner's 21st goal of the season at 19:39.
Exploding whale video goes viral on Internet
Reindeer recovered after escaping from Santa during lighting ceremony