Brent Burns added a goal for the Sharks, who won their fourth straight. Antti Niemi stopped 30 shots in his 21st win of the season.
Patrick Maroon scored for the Ducks, who lost for the first time in December and missed a chance for a club-record, seven-game winning streak on the road. Frederik Anderson made 20 saves but lost for the second time in 11 games this season.
Anaheim, which entered the game as the NHL's top team, also had a 13-game point streak stopped.
Burns opened the scoring 1:17 into the game. Joe Pavelski followed his blocked shot with a wraparound try that bounced straight to Burns, who found a crack between Anderson and a Ducks defender for the goal.
Burns has eight points in his last seven games against the Ducks. The Sharks scored in the first 90 seconds of a game for the ninth time this season.
Jason Demers recovered a loose puck to help set up Couture's goal midway through the first period. Couture beat one defender and then beat Anderson.
Midway through the second period, Kearns picked up the rebound from Andrew Desjardins' shot and easily beat Anderson.
Maroon scored his fifth goal in four games midway through the third period, with an assist from Corey Perry.
NOTES: The Sharks have taken a 2-0 lead in the first period 14 times this season. . Sharks C Tommy Wingels left with an apparent leg injury during the first period. . The Ducks haven't scored on their past 21 power plays. . Sharks C Joe Thornton recorded an assist to move into a 25th-place tie with Alex Delvecchio (825) on the NHL career list.