Evgeni Nabokov stopped 20 shots, and Joe Thornton and Devin Setoguchi added goals for San Jose. The Sharks beat the Ducks for the third time this season to move into a tie with the Los Angeles Kings for the Western Conference lead.
Ryan Getzlaf scored a power-play goal for the Ducks, who had a six-game points streak snapped. Jean-Sebastien Giguere made 33 saves.
Thornton has scored a goal in each of the Sharks' wins over Anaheim. Marleau had his 37th career two-goal game.
Giguere made a stick save on Torrey Mitchell's penalty shot at 6:20 of the first period. Mitchell was awarded the shot after being hooked on a breakaway.
Marleau gave the Sharks the lead midway through the second period after throwing a loose puck on net that evaded Giguere's glove. Marleau scored again 6 minutes laster on a nice redirect in the air off a shot from Douglas Murray.
Marleau regained the team lead from Dany Heatley with 22 goals and moved into a tie with Pittsburgh's Sidney Crosby for second in the NHL, two behind leader Marian Gaborik of the New York Rangers.
Getzalf received a pass from Bobby Ryan and took advantage of traffic in front of the net to hold the puck until Nabokov committed and then flung it just inside the right post. Getzalf scored in back-to-back games for the first time.
The Sharks, second in the NHL in penalty killing, have allowed power-play goals in each of their last four games.
Thornton's power-play goal with 6:37 remaining came on a rebound from Joe Pavelski's shot.
Setoguchi scored 3 minutes later after taking a centering pass from Thornton, who had two assists in the game to pad his NHL lead to 39.
NOTES
* Ducks forward Joffrey Lupul had surgery Thursday to repair a herniated disk in his back.
* Thornton has points (4 goals, 21 assists) in 14 of his last 15 games.
* Soccer star David Beckham was in attendance.
* Marleau has 56 career goals in December, the most of any month.
* Ryan has nine points (4-5) in his last seven games.