Jackson LaCombe had a goal and two assists, and Cutter Gauthier had a goal and an assist for the Ducks (14-8-1), who had won three of four. Petr Mrazek made 23 saves.
"Every game is going to be hard," Anaheim coach Joel Quenneville said. "We talked about that, and that was a good example of what it's like every night. You've got to play right until the end and it's a battle. You've got to know that you can't give them anything. You've got to make them earn it."
Hronek took a shot from the right point that deflected off Sasson and then in off Ducks defenseman Drew Helleson to give Vancouver a 4-3 lead.
"I didn't like the way the last one went in with our coverage in front," Quenneville said.
Drew O'Connor then scored into an empty net with 1:52 left to make it 5-3.
Gauthier scored with seven seconds remaining for the 5-4 final.
"A good battle," said Willander, who had the first multipoint game of his NHL career. "I think all the guys bought in and played hard. Even though we had periods where it stopped for us, I think we found a way to get through that."
The Ducks hit the crossbar twice in the first five minutes before Linus Karlsson gave the Canucks a 1-0 lead at 9:49 of the first period.