Ribeiro also tipped in a goal at 10:19 of the second period for the Coyotes, who won their second consecutive game.
Joey McDonald allowed three goals on 32 shots for Calgary. The Flames slipped to 1-3 on their five-game road trip.
Joe Coleborne scored at 3:00 of the third period to tie the score 2-2. Lee Stempniak put Calgary's first points on the board with a wrist-shot goal at 18:26 of the second period.
Senate Democrats to pull all-nighter on climate change
Dennis Rodman pledges to end trips to North Korea