Fabbro broke a 2-2 tie on a wrist shot from the point after receiving a pass from Luke Kunin.
"Obviously a great pass by [Kunin]," Fabbro said. "I was able to get in a lane there for him to give it to me, and you've just kind of have to be able to get it by that first guy. I was able to do that. A great screen in front. I wouldn't say it was a hard shot by any means, but just get it there and hopefully something good happens out of it."
Pekka Rinne made 24 saves, and Roman Josi and Filip Forsberg each had two assists for the Predators (6-8-0), who ended a three-game losing streak.
Robby Fabbri and Marc Staal scored, and Thomas Greiss made 20 saves for the Red Wings (3-10-2), who are 1-8-2 in their past 11 games.
"Frustrating," Detroit coach Jeff Blashill said. "Yeah, frustrating for sure at this point. I thought we put ourselves in a position to win another hockey game, and we didn't finish it. That's the step we need to learn to take now. I would say we gave them too many chances in the third period. I didn't like the third period and the chances we gave up. Now, we had them too. It was kind of a wild period at times, but that's not a recipe for winning."
Matt Duchene gave the Predators a 2-1 lead at 19:19 of the second period on a 2-on-1 with Calle Jarnkrok. Staal tied it 2-2 14 seconds later on the rush.
"It's been a grind the last few weeks," Rinne said. "When you lose games, it seems like everything becomes a little bit harder. You start maybe doubting yourself, but we stuck together. It's a huge win. I think there was a lot of positive things."