The Stars erased a 2-0 deficit, tying the game up with a goal from Mike Ribeiro with 53 seconds left in regulation before stealing their fourth straight victory thanks to Loui Eriksson's game-winner in overtime.
The win moved Dallas (33-26-4) into sole possession of eighth place, the final play-off spot in the conference.
"We know we need the points now and it was a big two points for us," Eriksson said. "For sure, that gives us confidence that we can score late and win the game. We just stuck with it and got the two points."
Vancouver (40-16-7) came into the game on the back of two straight wins, including a victory over Detroit to snap a NHL-record 23-game home winning streak on Thursday.
Ryan Kesler and Mason Raymond gave the Canucks a 2-0 lead with scores in the second but Michael Ryder got Dallas on the scoreboard to spark their comeback.
"Well, we obviously made a couple mistakes there on the second and third goal," said Canucks coach Alain Vigneault. "We had the game where we wanted it. We were going into the third with a one-goal lead and unfortunately we lost it."
The Canucks had won the last six meetings with the Stars.
Kari Lehtonen made 24 saves for the Stars to keep pace with Vancouver's Roberto Luongo who had 25.