Josi scored from the slot at 4-on-4 to give the Predators a 4-3 lead at 7:35 and into an empty net at 19:29 for the 5-3 final. He also had an assist.
The go-ahead goal struck Stars defenseman Esa Lindell's stick and sailed over Anton Khudobin's glove.
WATCH: [All Predators vs. Stars highlights]
"It was a lucky bounce off my stick and maybe someone else too," Lindell said. "That's what happens when you shoot the puck and put it on the net."
Brian Boyle, Rocco Grimaldi and Filip Forsberg also scored for the Predators (35-22-5), who are in second place in the Central Division, one point behind the Winnipeg Jets. Ryan Ellis had three assists, and Pekka Rinne made 36 saves.
Lindell and Jason Spezza each had a goal and an assist for the Stars (29-25-5), who are 1-4-1 in their past six games. They hold the first wild card into the Stanley Cup Playoffs from the Western Conference and are six points behind the St. Louis Blues for third place in the Central. Khudobin made 42 saves.
The Predators win followed a 5-1 loss at the Vegas Golden Knights on Saturday.
"I think we just had more speed, more attitude, worked harder," Josi said. "We weren't happy with the way we played in Vegas. Kind of had two days here to sit on it."
Predators coach Peter Laviolette said, "We played a desperate team that played with a lot of edge and a lot of attitude tonight. They were fighting for their lives. Like us, they've been losing some games and they've had some games not go their way, and that makes them on point trying to grab the two points. I was really happy with the response from the last game and the fact that we were able to come back from that game and put it away."
Boyle gave the Predators a 1-0 lead at 10:50 of the first period on a backhand tap-in after Khudobin made a kick save on a shot by Josi.