Calgary showed a good amount of offensive creativity in period one, firing 16 shots Thompson's way - four off the stick of Yegor Sharangovich, who came close to extending the lead with a shot and rebound attempt from the right wing.
The visitors answered back in period two, though, putting 17 pucks of their own on goal in the middle stanza. Hendrix Lapierre tied the game with his first NHL tally since the 2023-24 campaign, the puck bouncing onto his blade for a back-door tap-in at 6:33.
Cooley earned the start in goal - his second of this five-game homestand - and he was tested on a mid-period powerplay, stoning the NHL's all-time goals leader, Alexander Ovechkin, on a trio of opportunities including a patented one-timer from the left circle.
Upon killing the Joel Farabee minor, the Flames applied pressure, but Thompson made his best save of the night off Martin Pospisil while flailing in his crease, getting a glove hand to a wide-open opportunity before Adam Klapka shoved the rebound wide of the right post.
Cooley stood firm on an early third-period penalty kill, stopping Jakob Chychrun's Michigan attempt with his right shoulder, keeping the game even at a goal apiece.
But four minutes later, Protas put Washington ahead on a rebound in front of the Flames cage, tapping his 17th goal of the season home.
Ovechkin iced the contest with an empty-netter in the final minute of play.
Connor Zary finished the game with an assist for Calgary, while MacKenzie Weegar finished with a game-high five blocked shots.