Lucic cut it to 2-1 at 19:02, driving the far post and chipping a shot over Thompson's right shoulder after taking a cross-ice pass from Walker Duehr.
"It's a tough one," Lucic said. "The effort was there in spurts. We're a team that relies on all four lines and all six [defensemen] to have success, and I don't think we've had that for a full 60 minutes. When you're down 2-0 and you're chasing the game, we weren't able to tie it up after that."
Lucic's goal came after Andrew Mangiapane appeared to have scored on the power play at 16:43, but the goal was overturned after video review determined he kicked the puck into the net.
Roy, in his first game back after missing 14 because of a lower-body injury, extended it to 3-1 at 5:19 of the third period. He deked backhand to forehand and lifted a shot over Markstrom's glove following a failed clear by Andersson.
"I'm just pretty happy to be back, honestly, and get the win," Roy said. "It was a big game. Calgary's got a great team, and it was a battle out there, so it was good to get the win."
Kadri made it 3-2 at 12:33 with a wrist shot from the slot on the power play, his first goal in 17 games.