CALGARY, Alberta (AP) -- Matthew Tkachuk hasn't scored lately, yet is finding other ways to help Calgary win.
The Flames won their fifth straight and moved into first place in the tight Pacific Division, one point ahead of Arizona and Vegas. The Oilers are two points back.
''Right now, the puck's not going in like it was at the beginning of the year for me,'' said Tkachuk, who hasn't scored in seven games. ''There was a lot up for grabs tonight so you've got to do whatever it takes to go and get that win.''
Johnny Gaudreau and Dillon Dube also scored for Calgary.
Ryan Nugent-Hopkins had two goals and Connor McDavid also scored for Edmonton, which lost in regulation for the first time in six games. Kailer Yamamoto had two assists and Leon Draisaitl also had an assist, extending his point streak to six games.
''We'll take seven out of 10 points,'' added McDavid. ''That's a positive road trip. But this was a big one for us. This was a big game for both sides. We wanted to find a way to get a big win here.''
Tied 3-3 after two periods, Lindholm put the Flames back in front 39 seconds into the third with a power-play goal. From just inside the face-off circle, Lindholm snapped a shot that beat Mikko Koskinen over his shoulder.
The goal came during the second of two roughing minors on Zack Kassian for an incident late in the second when he took offense to a hit from Tkachuk and threw off his gloves and started punching the Flames forward, also tossing him to the ice twice. Kassian also got a 10-minute misconduct. Tkachuk was not penalized.
''If he doesn't want to get hit, then stay off the tracks,'' Tkachuk said. ''I got him three times there. You'd think he'd learn after the first one. If he wants to react like that, we'll take the power play, we'll take the game-winner and we'll move on in first place.''
Kassian called the hits ''targeted'' and was unhappy Tkachuk didn't engage.
''You don't let people take advantage of you no matter what the situation is,'' Kassian said, defending his actions.
''A lot of emotions, more like a playoff game. It was a fun game to play in and that was a huge win for us,'' Lindholm said.
Up until that point, there had not been a penalty called.
Calgary finished 1 for 2 with the extra man. The Oilers No. 1 ranked power play didn't get a chance with the extra man until the latter half of the third period. They were unable to convert on that one opportunity.
Former Oiler Cam Talbot had 29 stops for Calgary. Starting a third straight game for the first time this season, he was busiest in the final 20 minutes when he stopped all 15 shots he faced.
With former Flame Mike Smith getting the night off after playing the first four games of the Oilers' road trip, Koskinen made 29 stops for Edmonton.
Tied 2-2 after one, Nugent-Hopkins gave Edmonton its second lead 1:24 into the second'.
Calgary tied it 3-3 at 11:34 of the second when Dube got his stick on the puck at the top of the crease and chipped it over Koskinen's shoulder.
After scoring first, then falling behind, Calgary tied it 2-2 with 41 seconds left in the first on Gaudreau's goal.
Edmonton took a 2-1 lead at 9:06 on a nifty play from McDavid, who chipped the puck past Noah Hanifin at the Oilers blue line then took off on a breakway. As he burst in on Talbot, he beat the goalie with a little forehand chip shot into the top corner.
Calgary got off to a terrific start. Shortly after Gaudreau was stopped on a breakaway, Lindholm spun in the slot and sent a shot past Koskinen. The goal at 4:04 came on the Flames' eighth shot.
But the Oilers tied it just over a minute later, perfectly executing an odd-man rush with Nugent-Hopkins burying a cross-ice pass from Yamamoto.
NOTES: Sean Monahan had an assist, giving him 399 career points, which moves him ahead of Paul Reinhart and into 14th on the Flames all-time list. ... Gaudreau had two points to tie him with Jim Peplinski (424 pts) for 11th.
Oilers: Host Nashville on Tuesday.
Flames: At Montreal on Monday.
More AP NHL: https://apnews.com/NHL and https://twitter.com/AP-Sports