Sam Gagner also scored for Vancouver, which has won three of four since losing seven straight. Jacob Markstrom stopped 23 shots.
Andrew Cogliano scored for the Ducks, who wrapped a four-game trip and are on a 5-1-1 stretch.
The loss dropped Anaheim into a tie with the Los Angeles Kings for third in the Pacific Division, though the Kings have a game in hand. The teams play Friday night.
“We’ve got probably two of the biggest games of the year coming up, L.A. on Friday night and Colorado on Sunday,” coach Randy Carlyle said. “That pretty much sums it up, it’s desperation time for everybody and we’re going to have to play to a higher level than we did tonight.”
Anaheim’s John Gibson made 26 saves. He has been dominant against Vancouver, coming into the game 6-1-1 with a 1.37 goals-against average and three shutouts against the Canucks.
Vancouver got to him at 9:53 in the opening period. Daniel Sedin’s shot from the faceoff circle bounced off Gibson and right to Gagner, who batted in the rebound.
Markstrom made two big saves in the second period. The first off a 3-on-2 with Ryan Getzlaf setting up Andrew Cogliano and the second on Corey Perry shooting from inside the slot.
Markstrom later made a gaffe that lead to the Ducks’ tying goal. The puck took an odd bounce off the stanchion during a dump-in, and Markstrom was caught stranded as Cogliano whipped the errant puck in.
“If we win 4-1 and that is the goal that beat me I’ll take that any day,” Markstrom said. “It’s frustrating when it happens, but if we win 4-1, I’ll take that goal any day.”
Sutter made it a two-goal lead when he burst out to a breakaway, hit the side of the net, then collected the puck and flipped it in over an out-of-position Gibson.
Sutter added his second of the night into an empty net with 16 seconds left.
NOTES: U.S. Olympian Troy Terry made his NHL debut for the Ducks. He played on a line with Ondrej Kase and Adam Henrique. … Newly signed Canucks C Adam Gaudette did not dress and is expected to make his NHL debut Thursday against Edmonton.