The slumping Canucks held the Stars scoreless for 50 minutes but couldn't close it out.
Alex Radulov scored the go-ahead goal late in the third period as the Dallas edged Vancouver 2-1 on Saturday.
Jamie Benn also scored midway through the third for the Stars, who are 3-1-1 in their last five games.
Connecting you to your favorite North Texas sports teams as well as sports news around the globe.
Ben Bishop made 24 saves in his first start since returning from a lower-body injury that kept him sidelined for five games.
"You've got to be able to close out games if you want to be a good team," said Bishop. "It's not always going to be pretty, but we found a way to do it tonight.
"You've just got to find ways. Finding different ways to win makes you a better team."
Bo Horvat scored for the Canucks, who have only one win in their past 12. Anders Nilsson made 25 saves for Vancouver.
"This is a game that in my mind we lost down the stretch," Vancouver coach Travis Green said. "Their veteran guys took over. It happens fast and momentum changes. We played a real stingy game for 50 minutes and all of sudden their guys smelled blood. We cracked earlier than they did."
"It's a real tough way to lose. It's a game we'll learn more from than some of the other losses."
Radulov's winner came with 3:23 left in the game. Benn found the Russian winger skating in alone in the slot, and Radulov backhanded it in to quiet the crowd.
Benn and Tyler Seguin were the busiest Stars offensively, swarming Nilsson all night. Nilsson was forced to make several strong saves against the duo, including a jaw-dropping glove grab against Seguin in the first.
Benn said his near-misses only made him more determined.
"It makes you hungrier," said Benn. "We had a lot (of chances) in the first and second that weren't going in. I like how we stuck with it and found a way."
Nilsson was impressive in the first. He faced only six shots, but made several strong saves, including a jaw-dropping glove grab to deny Dallas forward Tyler Seguin.
The Canucks got on the board with just over four minutes to play in the first. Winger Antoine Roussel, a former Star, broke away along the wing and lobbed a rolling puck to Horvat, who got enough stick on it to beat Bishop.
"It's a matter of putting the full 60 together," Horvat said. "The first and second we had our chances, with lots of shots on net. But no excuse -- we need to be better."
Bishop was solid at the other end in the second when he stopped Brock Boeser on a breakaway.
"I wanted to go five-hole, but he read me like a book," said Boeser. "It's tough obviously, that play goes through my head a lot after the game and I'll be thinking about it."
Nilsson did the same to Blake Comeau with a glove save. The Canucks netminder faced the Stars' power play in the final two minutes of the second, but preserved the one-goal lead.
Seguin and Benn, doing most of the offensive work with seven of the Stars' 17 shots through two periods, swarmed Nilsson early in the third. But a tripping penalty on Jason Spezza put Dallas on the defensive, forcing the Stars to kill Vancouver's fourth power play of the game.
Benn finally tied it 1-1 at 10:19 of the third. After a shot from the point by Miro Heiskanen bounced through traffic at the net, Benn swooped around the back of the net and banged in the loose puck at the side.
Stars: Host Edmonton on Monday night.
Canucks: Host Minnesota on Tuesday night.