He scored his game-winner when the puck caromed way from San Jose goaltender Evgeni Nabokov.
Roberto Luongo made 25 saves on 26 shots to record his 39th win of the season, setting a new franchise record for victories in a season for the Canucks, who have a five-game winning streak.
Nabokov made 35 saves on 37 shots for the Sharks, who had won their previous two games.
Marleau scored the game's lone power play goal.
The Canucks remained in the third spot in the Western Conference and have a four-point lead over Minnesota in the Northwest Division.