Karlsson also had two assists as San Jose won at home for the first time this season, improving to 1-4.
Couture opened the scoring just 26 seconds into the game, beating Kallgren on a partial breakaway. Kampf tied it a few minutes later.
Couture scored his second on a 5-on-3 advantage to put the Sharks back in front in the second period. Meier netted another power-play goal 42 seconds later, tipping Couture’s shot past Kallgren.
Dozens of fans at SAP Center threw their hats on the ice, thinking it was Couture’s third goal of the game, but replays clearly showed Meier deflecting the puck for his first goal of the season.
Marner brought Toronto back within one late in the second, beating Kahkonen with 23 seconds left.
Matthews tied it on the power play early in the third, scoring his second goal of the year.
Couture became the third player to score at least 300 goals with the Sharks, joining Patrick Marleau (522) and Joe Pavelski (355).
CLOSING IN ON 100
San Jose first-year coach David Quinn reached 99th victories, improving to 99-94-25 between the Rangers and Sharks.
Maple Leafs: G Ilya Samsonov has been a little under the weather during the current trip, contributing to the decision to start Kallgren. ... F Kyle Clifford (shoulder) was placed on injured reserve Wednesday.
Sharks: F Nick Bonino missed his third straight game with an upper-body injury but is expected to return soon. “He’s close,” Quinn said.
Maple Leafs: At Los Angeles on Saturday night.
Sharks: Host Tampa Bay on Saturday night.
More AP NHL coverage: https://apnews.com/hub/NHL and https://twitter.com/AP_Sports
Ben Ross, The Associated Press