Carrier scored from the base of the left face-off circle, capping a 2-on-1 rush with Matt Duchene. Carrier missed Nashville's previous four games with an upper-body injury.
"[The Oilers] chipped it in; I don't know why, I decided to stretch the ice, and [Cody Glass] made a good heads-up play," Carrier said. "They were going for a change, and we got a 2-on-1. [Duchene) was on his one-timer, so I kind of looked him off, shot it and it went in."
Glass had two assists, and Juuse Saros made 30 saves for the Predators (13-13-4), who are 1-4-2 in their past seven games. Nashville won for the first time since a 4-1 victory against the New York Islanders on Dec. 2.
"We came out and played a really solid hockey game," Predators coach John Hynes said. "We deserved to win the game. We did it. I think that's the most important thing when you come out of tough stretches, is that sometimes you're building your game and not getting results. When you do wind up getting results, it's important because … it's not like you hung on and found a way to win. We came out and played a real solid game."
Connor McDavid had two assists to extend his point streak to 13 games, and Ryan Nugent-Hopkins had two goals for the Oilers (17-14-2). Jack Campbell made 31 saves.
Edmonton rallied from three one-goal deficits but lost its third straight game (0-1-2). It won its previous eight games against Nashville.
"I thought we battled all game to give ourselves a chance and couldn't get that second point," Nugent-Hopkins said. "I thought we battled pretty hard. They played a solid, hard-working game and I thought we matched that well."