Brett Holmes-USA TODAY Sports

Jonathan Marchessault and Michael Amadio scored first period goals and the visiting Vegas Golden Knights held on for a 3-2 victory over the Calgary Flames on Thursday.

Nicolas Roy also scored for the Western Conference-leading Golden Knights (45-21-6, 96 points), who have won three straight games and seven of eight outings.

Starting goaltender Logan Thompson made 37 saves in his return to action after missing 18 games due to injury, but left with 6:07 left in regulation. In relief, Jonathan Quick stopped all five shots he faced, his biggest on MacKenzie Weegar in the final minute.

Milan Lucic and Nazem Kadri replied for the Flames (32-26-15, 79 points), whose playoff hopes took another big hit. Goalie Jacob Markstrom stopped 29 shots.

Marchessault's 23rd goal of the season opened the scoring past the midway point of the opening frame when he wisely elected to shoot on a two-on-one rush.

Almadio doubled the Vegas lead at the 15:23 mark with another rush up ice. A long pass while the Flames were on a sloppy change resulted in a breakaway that ended when Amadio, whose first shot was blocked, converted the rebound for his 12th of the season.

Lucic finally provided a boost for the hosts when he netted his sixth of the season with 58 seconds left in the opening frame, converting a cross-ice pass from Walker Duehr on a two-on-one rush.

Roy, who returned after missing 14 games due to injury, restored the two-goal edge 5:19 into the third period. After stripping a defender of the puck, Roy completed a give-and-go for his 12th of the season.

Kadri's power-play goal to snap a 16-game goal drought breathed new life into the Flames with 7:27 left in regulation. Kadri unloaded with an open chance, notching his 22nd of the season.

However, the Flames could not find the equalizer in their frantic push and are now 0-18-3 when trailing after two periods.

More must-reads:

TODAY'S BEST
Timberwolves mount incredible second-half comeback to stun Nuggets in Game 7
Watch: NASCAR drivers exchange punches after crash in All-Star Race
Knicks star offers passionate defense of HC Tom Thibodeau after Game 7 loss
Xander Schauffele proves doubters wrong with historic win at 2024 PGA Championship
Canucks won't have linchpin forward for Game 7 vs. Oilers
Pacers ride historic shooting performance to Game 7 blowout of Knicks
Watch: Aaron Judge blasts 13th home run in Yankees' seventh straight win
Knicks' Jalen Brunson suffers serious injury in Game 7 vs. Pacers
Phil Foden lifts Manchester City to fourth consecutive English Premier League title
Dodgers add recently acquired left-hander to active roster
Report: 2023 No. 7 pick expected to terminate KHL contract, join Flyers
Mavericks advance to Western Conference Finals aided by controversial call late
Connor McDavid, Oilers hammer Canucks to force Game 7
Tyson Fury-Oleksandr Usyk epic increases excitement for potential rematch
Seize the Grey wins in muddy Preakness
Even Mike Budenholzer admits the Suns need a point guard
Watch: Juan Soto's first multi-homer game as a Yankee
Xander Schauffele, Collin Morikawa lead at PGA Championship
Knicks could get major boost for Game 7 showdown with Pacers
Giants All-Star pitcher suffers setback in recovery from injury