The Ducks bounced back from a shootout loss the previous night at home against Buffalo to win the final regular-season matchup between the California rivals and move within four points in the division race. San Jose has one game in hand.
Jonathan Bernier made 33 saves.
San Jose played with desperation in the final period, knowing that even earning a point by forcing the game into overtime would help their cause in the division race.
But Bernier was up to the task, stopping Patrick Marleau during a wild scramble midway through the period and then denying a good chance by Couture a few minutes later. San Jose had 14 shots in all in the third, but couldn't get the equalizer.
The teams traded goals in the first period with the Ducks scoring in the opening minute when Eaves was left alone in front to take a pass from Ryan Getzlaf for his 24th goal 39 seconds into the game.
Couture answered late in the period after Cam Fowler took a tripping penalty with Anaheim already short-handed. The Sharks capitalized on the two-man advantage when Joe Thornton found Couture in front for his 25th goal.
Both teams had plenty of chances between those goals, but Tomas Hertl was robbed by a post for San Jose, Ryan Kesler hit the crossbar on a breakaway for Anaheim and Micheal Haley was stopped on a breakaway for the Sharks.
The game tightened up at the start of the second period after Couture hit the post on the power play in the opening seconds. The Ducks went 13 minutes without a shot on goal at one point, but ended up regaining the lead midway through the period. Silfverberg blocked a point shot by Paul Martin and went in alone on a breakaway for his 20th goal.
Bernier made a big stop on Joel Ward late in the second to keep the Ducks ahead.