Patrick Marleau and Tommy Wingels also scored for the Sharks, who won three of four games following a three-game losing streak to reach the break in second place in the Pacific Division. Antti Niemi made 19 saves.
Ryan Johansen and Boone Jenner scored for the Blue Jackets, who trail Philadelphia by one point for third place in the Metropolitan Division after losing tight games on consecutive nights in San Jose and Los Angeles. Sergei Bobrovsky made 44 saves.
Columbus got worn down in the third against the more-rested Sharks, especially on an extended shift early in the period that led to Wingels' goal. With the Blue Jackets unable to change a tiring unit under relentless pressure from San Jose, Wingels knocked in a rebound of Jason Demers' shot for his second goal in two games to make it 3-1.
Jenner scored midway through the period on Columbus' second shot of the third when Johansen set him up following a turnover by Demers.
Columbus took advantage of a San Jose turnover to get on the board 18 seconds into the second. Joe Thornton's clearing attempt from the corner was knocked down just inside the blue line by Johansen, who quickly flipped a wrist shot past Niemi before he could react to cut the Sharks' lead to 2-1.
The Blue Jackets were strong on the penalty kill in the second period and nearly tied the game on a short-handed breakaway by Matt Calvert that was stopped by Niemi.
Bobrovsky, starting on back-to-back nights for the first time since the opening two games of the season, fell into a 2-0 hole less than halfway through the first period.
McCarthy, who cleared waivers and was sent to the minors last week, made the most of his opportunity in his return after an injury to Matt Nieto. McCarthy won an offensive zone faceoff against Brandon Dubinsky to start his second shift of the night and went straight toward the net.
James Sheppard came up with the loose puck and fired a shot from the faceoff circle that deflected off McCarthy's stick and past Bobrovsky for the opening goal. It was McCarthy's first since Nov. 6, 2010, against Tampa Bay, ending a drought of 73 games.
Marleau struck less than 5 minutes later with his first goal in seven games. Bobrovsky made a sprawling save to rob Brent Burns in front but the rebound went to Scott Hannan at the point, who fired a slap shot that Marleau deflected for his 23rd goal.
The Blue Jackets had their chances in the first period but Johansen missed the net on an early breakaway and they failed to convert a pair of power-play chances. They also had an apparent goal waved off when Jenner knocked in a rebound with a high stick.
NOTES: Referee Mike Hasenfranz left the game with an apparent injury, and the third period was played with only one referee. ... The Sharks lead the NHL with 60 goals in the first period. ... Demers returned to the lineup after missing three games with a lower-body injury.