Vancouver centre Elias Pettersson tied the game late in the third period and Conor Garland notched the shootout winner as the Canucks prevailed 4-3 over the Calgary Flames in thrilling NHL action on Wednesday night.