Trevor Daley also scored for Dallas while Shea Weber scored for Nashville, which is sixth in the Western Conference.
Dallas won for the second time in three games despite being outshot 35-14.
"You can see how much confidence [Nashville] is playing with," Dallas coach Marc Crawford said. "When they make a mistake, they don't get worried. It's a nice feeling, it comes from winning. Hopefully we can put a few wins together so we'll have that feeling too."
Just a minute and a half into the third period, Brad Richards intercepted a pass by Nashville defenseman Ryan Suter just outside of the Predators' blue line. Richards found Eriksson on the right side, and he beat Nashville goaltender Pekka Rinne with a wrist shot from the right faceoff circle. Rinne finished with 11 saves.
"I tried to shoot it quick, and I went high glove there," Eriksson said. "He wasn't able to save it, so it was nice that it went in."
Niskanen gave the Stars a 3-1 lead 30 seconds later with a slap shot from the right point through traffic that beat Rinne on the far side.
"They executed, and it was a couple of quick goals in two minutes at the beginning of the third period," Rinne said. "You have to go through it and then forget it after that."
After a scoreless first period, Daley opened the scoring at 8:10 of the second period.
From the left of the Nashville net, Richards threw the puck in front. Rinne tried to pounce on the puck, but it trickled into the low slot and Daley sent a one-timer into the vacated net.
"Tonight was one that could have gone either way," Daley said. "We found a way to win tonight, but obviously our goalie was unreal tonight."
Daley's goal was his 100th career point.
Weber tied the game at 1 at 16:02 of the middle period with a slap shot from the right circle that sailed over the glove of Dallas goaltender Kari Lehtonen.
"We definitely played with a lack of urgency," Weber said. "We weren't really jumping the pucks and playing the way we're used to."
"Obviously, we had plenty of shots and plenty of chances," Nashville coach Barry Trotz said. "We had some chances, but just didn't finish."
Lehtonen made 34 saves for Dallas.
"It's always good to get some shots, and I think our guys were keeping them in the corners," Lehtonen said. "We were in a good situation after two, we were able to keep it 1-1 on the road against a hot team. We were confident and we got a couple of quick goals right away."
Nashville captain Jason Arnott missed his second consecutive game with an upper-body injury. ... Sullivan has points in five of his past six games. ... Richards has points in six consecutive games. ... Dallas C Mike Modano missed his fifth straight game.