The Predators (15-7-3) lost for the first time in seven games at home, where they are 9-2-1, and their point streak ended at six games.
"We definitely gave them too many odd-man rushes," Predators defenseman Roman Josi said. "They had like two or three breakaways and a 2-on-1, and that can't happen. I thought we had a couple of chances early in the third and couldn't capitalize. And then we just gave them too many chances, too many really good chances."
Sedin tied the game 3-3 at 10:22 of the third period when his wrist shot trickled through Rinne's pads.
"For me, it went in top shelf," Sedin said jokingly. "It hit a stick, I think, and went five-hole. Like I said, he's a good goalie. It doesn't matter where you aim, it feels like he's going to save it, but I was lucky to hit a stick, and it went in."
Brock Boeser gave the Canucks a 4-3 lead at 14:08. The rookie forward took a pass from Nikolay Goldobin on a 2-on-1 rush and beat Rinne for his second goal of the night and 13th of the season.
"We had a good first [period] and an OK second, but we knew we needed to dig deep," Boeser said. "It was at the end of a road trip, bring some energy and put pucks to the net. I think there was some rebounds there. That was our main goal, to get shots and crash the net."
Loui Eriksson scored his second goal of the night into an empty net with 57 seconds left to make it 5-3. Daniel Sedin got an assist for his 1,001st NHL point.