Ales Hemsky and Esa Lindell also scored and Kari Lehtonen made 26 saves for the Stars (28-32-10), who played without captain Jamie Benn in the third period because of an upper-body injury. Dallas coach Lindy Ruff said Benn will be re-evaluated Friday and wasn't sure if he would be able to play against the Calgary Flames.
Benn didn't play after a fight with 6-foot-7, 265-pound Canucks defenseman Nikita Tryamkin with 3:29 left in the second period.
"This might be something that happened in one of the earlier games, but we don't know for sure," Ruff said. "I don't know if he got hurt in the fight to tell you the truth."
Ben Hutton and Sven Baertschi scored and Ryan Miller made 32 saves for the Canucks (28-33-9), who lost all five games on their homestand (0-3-2).
"It's frustrating," Hutton said. "We want to win, especially here in our home rink in front of our fans. One mistake here, one mistake there and it's two points for the other team and not us."
Hemsky scored his first goal in his eighth game this season to give the Stars a 1-0 lead at 8:41 of the first period. Baertschi tied it 1-1 at 13:27 of the first period on a rebound after Lehtonen slid across to rob Tryamkin on a backdoor tap-in.
Lindell gave the Stars a 2-1 lead with 7.2 seconds left in the first period, but Hutton scored on a power play with 0.3 seconds left in the second to make it 2-2. It was the Canucks' second power-play goal in 34 chances over the past 14 games.