Charlie Coyle gave the Wild a 2-1 lead at 18:37 on a rebound. Forward Nino Niederreiter took the original shot, and Coyle, playing in his 300th NHL game, shot the rebound past Rinne for his 10th goal.
Staal made it 3-1 29 seconds later. Niederreiter won a battle for the puck behind the net, passed to Staal alone in the slot and he beat Rinne for his eighth goal.
"We're just trying to keep this going," Staal said. "You never want to give anyone anything back. We had a good first period and really set the tone, and I think from there maybe not as sharp, but you've got to find ways to win. It wasn't the prettiest tonight, but we've got a solid team and a great goalie right now."
Predators forward Mike Fisher made it 3-2 at 8:55 of the second period on the power play. Forward James Neal sent a pass to Fisher, who one-timed the shot from the crease for his eighth goal.
"We're giving up too many real good scoring chances, and that's what killed us tonight," Fisher said. "We knew that coming in. We did get our fair share of chances, but we've got to be better defensively."
Staal (19:04) and Mikael Granlund (19:39) scored empty-net goals.