SAN JOSE -- Rookie forward Matthew Tkachuk scored two goals, including the game-winner with 4:21 remaining, to help the Calgary Flames defeat the San Jose Sharks 3-2 at SAP Center on Thursday.
Tkachuk took a pass from forward Michael Frolik in the low slot and beat goaltender Martin Jones with a backhand from close range for his third goal of the season.
WATCH: All Flames vs. Sharks highlights
Tkachuk, the sixth pick in the 2016 NHL Draft, played his 10th game of the season, activating the first of his three-year entry-level contract. The 18-year-old didn't know until Thursday morning whether he would be sent back to his junior team, London of the Ontario Hockey League, or remain in the NHL.
"I went to bed pretty late last night, not expecting I was playing," Tkachuk said. "Woke up this morning not really expecting I was playing. I got the news I was playing and got fired up pretty quickly. I was running on adrenaline tonight."
Troy Brouwer also scored for the Flames (5-6-1), who ended a two-game skid, and backup goaltender Chad Johnson made 26 saves in his fourth start of the season.
Video: CGY@SJS: Tkachuk scores off Vlasic's deflection
Defenseman Brent Burns and forward Melker Karlsson scored for the Sharks (6-5-0), who lost at home for the first time this season after a 4-0-0 start. Jones made 19 saves.
"The desperation level of the teams we're playing is very high, and ours is high for stages of the game, but not for 60 minutes," San Jose coach Peter DeBoer said. "This is a league where if you don't play desperate for 60 minutes, you're really limiting your opportunities to win, and I think that's where we're at right now."
Brouwer gave Calgary a 1-0 lead with 3:28 left in the second period with his fourth goal of the season, beating Jones with a slap shot from the right faceoff circle. Forwards Micheal Ferland and Sam Bennett had the assists.
Video: CGY@SJS: Burns buries Pavelski's setup for PPG
The Flames increased their lead to 2-0 with 1:55 left in the second on Tkachuk's first goal of the night. He sent a wrist shot from the right circle between Jones' pads. Defenseman Deryk Engelland and Frolik had the assists.
Burns cut Calgary's lead to 2-1 with a power-play goal 35 seconds into the third period. His slap shot from just inside the blue line got past Johnson with 20 seconds left on a power play that began at 18:55 of the second period when Bennett was sent to the penalty box for tripping.
The Sharks pulled even at 2-2 on Karlsson's second goal of the season. He tipped Marc-Edouard Vlasic's point shot, got the rebound to the left of the crease, and tucked the puck behind Johnson's right pad.
Video: CGY@SJS: Johnson denies Hertl's close wrist shot
Goal of the game
Brouwer opened the scoring thanks to Ferland's slick pass from below the goal line. Jones moved to his right, expecting Ferland to continue carrying the puck behind the net. But Ferland made a no-look backhand pass to Brouwer in the right faceoff circle, and he beat Jones with a one-timer inside the right post.
Video: CGY@SJS: Brouwer buries Ferland's perfect feed
Saves of the game
At 11:16 of the second period with the score tied 0-0, Johnson stopped Burns' sharp-angled backhand shot from just to the left of the crease, and then made a save on Mikkel Boedker's attempt on the rebound.
Unsung moment of the game
DeBoer shuffled his lines after the second period, moving Karlsson to the top line with Joe Thornton and Joe Pavelski, and dropping Boedker to the third line. The move paid off when Karlsson got to the front of the net and deflected Vlasic's point shot and scored on the rebound to tie it 2-2.
Video: CGY@SJS: Karlsson tips in Vlasic's shot to tie it up
Highlight of the game
Tkachuk showed off his offensive skill when he scored the first game-winner of his NHL career. He took a pass from Frolik in the slot, switched from his forehand to his backhand, and put the puck inside the right post before Jones could recover. "An unbelievable pass from [Frolik]," Tkachuk said. "Made my job pretty easy tonight."
Video: CGY@SJS: Tkackuk pots backhander for second goal
They said it
"You can't ask guys to be great every night, but we do ask guys to be good every night, and we're finally staying above that line, the good line." -- Flames coach Glen Gulutzan
"First two periods, those are on us as players. We weren't clean enough, weren't ready to play. Disengaged. It takes a lot of work from everybody, and there's no shortcuts to get where you want to go." -- Sharks captain Joe Pavelski
Video: CGY@SJS: Jones flashes leather to snag wrister
Need to know
Sharks center Logan Couture has 27 points in 26 career games against the Flames but was kept off the score sheet Thursday. ... Calgary defenseman Brett Kulak replaced Dennis Wideman in the lineup after being scratched six straight games. He had four hits and one shot. ... The Flames outhit the Sharks 10-1 in the first period. ... San Jose went 1-for-5 on the power play; Calgary was 0-for-2.
Flames: At the Los Angeles Kings on Saturday (10 p.m. ET; CBC, SN1, FS-W, NHL.TV)
Sharks: Home against the Pittsburgh Penguins on Saturday (10:30 p.m. ET; CSN-CA, ROOT, NHL.TV)
Video: Tkachuk tallies two to lead Flames to 3-2 win