Luca Sbisa, Matt Beleskey and Mathieu Perreault also scored for Anaheim, while Andrew Cogliano and Daniel Winnik added two assists as the Ducks moved into first place in the Pacific Division.
Brad Richardson had the lone goal for Vancouver, which remained five points back of the Phoenix Coyotes for the final wild-card berth in the Western Conference. Eddie Lack made 16 saves.
The Ducks led 2-1 after the first period and increased their lead at 11:02 of the second off a Canucks turnover when Winnik chipped a pass from the side of the net into the slot to Koivu, who scored his 10th of the season.
Vancouver had a number of opportunities to make things interesting, including three power plays in the second, but didn't have many clear-cut chances for the league's 27th-ranked unit.
After Koivu gave the Ducks a 3-1 lead, Andersen made consecutive saves off shots by Chris Higgins and Jordan Schroeder from in tight before shooting out a pad to stop Zack Kassian moments later.
Perry put the game out of reach by scoring his 38th of the season at 6:45 of the third.
Perreault added his 18th of the season on a power play at 14:03.
Anaheim has thoroughly dominated the first four meetings of its five-game season series with Vancouver, outscoring the Canucks 21-6 and surrendering just one point to its division rivals. The teams meet for the final time April 7 at Rogers Arena.
The Ducks opened the scoring at 7:36 of the first period after the Canucks had a couple of good chances at the other end against Anaheim's rookie netminder. The puck was played back to the point to Sbisa, whose shot found its way through several players and past Lack for his first of the season.
Beleskey made it 2-0 just 1:11 later. Anaheim's Rickard Rakell collected a puck in front of Lack and fed a behind-the-back pass to Beleskey, who beat the netminder upstairs as Anaheim scored on two of its first five shots.
Vancouver got one back at 11:12 off some nice work from Kassian in the offensive zone. The big forward maintained possession at the blue line before feeding defenseman Ryan Stanton. His shot was kicked out by Andersen right to Richardson and he buried his 10th of the season.
NOTES: Richardson had a great chance with the game scoreless in the first period, but Andersen made a terrific stick save on a shot that he deflected onto the post. ... Ducks forward Teemu Selanne sat out after playing Friday night in Edmonton against the Oilers. The 43-year-old has not played back-to-back games this season, but said after the morning skate that he will play against the Canucks in Vancouver on April 7. ... Kassian has two goals and five assists during his four-game point streak. ... Perreault has six goals in his last eight games. ... Ducks forward Ryan Getzlaf took a shot off his foot before Anaheim's fifth goal and did not return.