Ryan Johansen had a goal and an assist, and Juuse Saros made 22 saves for the Predators (32-20-4).
"It's a huge win for us, obviously playing a team that is one point ahead of us in our division (Central)," Josi said. "It was a tough game, kind of the way you expect it against Dallas. A low-scoring game, good defense, good goaltending, not a lot of room out there. But it's great. … We never gave up and found a way to win."
John Klingberg scored, and Jake Oettinger made 29 saves for the Stars (32-21-3), who had won four in a row.
"It's a tough way to lose, obviously," Klingberg said. "It was a grinding game. It always is when we play these guys. They were able to find a way there to come out with two points, so it's disappointing."