Pettersson had a goal and an assist, and Jake DeBrusk and Pius Suter scored for the Canucks (30-24-11), who had lost two straight and four of six, including a 4-2 defeat against the Montreal Canadiens on Tuesday. Lankinen made 20 saves.
"Obviously a really important game," Vancouver captain Quinn Hughes said. "A very excited group. Individually, really fun to get back into the swing of things and feel confident in my body. A big win tonight. Really excited for our team. We've just got to keep climbing."
Hughes had an assist and played a game-high 29:48 in his return after missing four games with a lower-body injury.
"I haven't really felt great over the past month but I'm really thankful for the medical group we have,” said Hughes. "I'm sure they're sick and tired of me, but it's really fun to get back and as the next couple games come down start to get my legs and condition and hands and stuff where I'm feeling like I did before I left."
Jonathan Huberdeau scored two goals, Nazem Kadri had a goal and an assist, and MacKenzie Weegar had two assists for Calgary (30-23-11), which has points in five straight (2-0-3). Wolf made 28 saves.
"This is the modern-day NHL. No lead is really safe," Kadri said. "Every team's capable of a comeback. It's unfortunate to let it slide, but we'll take the point."
The Canucks and Flames have both either held the second wild card into the Stanley Cup Playoffs from the Western Conference or the first spot outside the playoffs since Dec. 29. Each team has 71 points.
"Both teams know we're going at each other," Pettersson said. "We're tied in points. They have one game in hand. It's going to be tight all the way to the last game. Every game matters. Every point matters."
Pettersson tied it 3-3 at 13:16 of the third period when he put a rebound by Wolf after he made the initial stop on Victor Mancini's point shot.
"He's an excellent, excellent player," Hughes said. "You don't get to where he's at as a player and person without being competitive and having inner drive. It's been a tough go for him this year but for him to show up the way he has the last couple games, that's big-time. We're going to continue to need him to do it."