Shanahan scored twice to end a nine-game drought and Curtis Joseph stopped 22 shots for his first career win over the Nashville Predators, who ended a rough seven-game road trip with a 4-1 loss to the Red Wings.
Sergei Fedorov had a goal and two assists for Detroit, which avenged a 3-1 road loss on October 26.
"Nashville always plays hard," Red Wings coach Dave Lewis said. "Tonight they just didn't have a lot of bodies."
Goalless since October 17, Shanahan lifted the Red Wings into a 1-1 tie 3:56 into the second period and capped the scoring with a power-play goal with 6:14 left in the third.
Shanahan took a 7.3 shooting percentage into this game.
"When your shooting percentage drops under 10, it's right around the corner," Shanahan said. "I've been playing this game long enough to know that's how it works. And if it's over 20, watch out. You're in for a dry spell because you've been lucky."
Joseph was not tested often as he improved to 1-2-1 lifetime vs. Nashville.
Martin Erat's power-play goal in the final minute of the opening period was all the Predators could muster as they completed the longest road trip in franchise history at 1-3-1-2.
"Obviously, we want to get home," Nashville goaltender Mike Dunham said. "This was long. It was a long journey and it's tough. It's tough being on the road that long, and playing the teams we played on the road trip makes it even more difficult."
Coming off a 4-3 victory at Colorado, the Predators got the only goal of the opening period as a centering pass by Vladimir Orszagh went off Erat's shin and deflected past Joseph.
"The puck went between my skates and I just touched it with my stick and it went into the net," Erat explained.
But Shanahan tied it early in the second. Dunham was slow to react after stopping Fedorov on a breakaway and was still getting to his feet when Shanahan scored from a tight angle on the right side.
Fedorov put the Red Wings in front for good with 3:14 to go in the period, breaking in alone on Dunham and putting a backhander between his pads. The puck trickled off the right goalpost, hit Dunham and slid over the goal line.
Darren McCarty gave Detroit a 3-0 lead at 3:43 of the third period. He beat Dunham from just inside the blue line with a bouncing puck for his fourth goal, nearly matching his total for all of last season.
"I didn't see it," said Dunham, who was screened by Kirk Maltby. "What happened was, they cleared it up around the boards. It hit the glass and popped right out. He shot it. The guy was cutting in front and I didn't even see it."
Shanahan capped his second two-goal game of the season just over 10 minutes later, getting to a rebound on the outer edge of the left circle and scoring from another difficult angle.
"There are certain spots where you know the rebound's going to go," Shanahan said. "I was there and I just got the shots away quickly."