MONTREAL -- The Dallas Stars got their first road win of the season, defeating the Montreal Canadiens 4-1 at Bell Centre on Tuesday.
Devin Shore had a goal and two assists, and Ben Bishop made 34 saves for Dallas (6-5-0), which has won three of its past four following a three-game losing streak.
The Stars were 0-3-0 on the road entering the game, which included a 4-2 loss to the Detroit Red Wings on Sunday that begin a six-game road trip.
"It's big. Obviously, we hadn't had a road win yet, so we'll take this and hopefully build on it," Bishop said. "That's a long road trip and we want to get points early and make those last couple of games a little bit easier."
[WATCH: All Stars vs. Canadiens highlights]
Brendan Gallagher scored, and Carey Price made 18 saves for Montreal (6-3-2), which has lost two of its past three.
"Bishop played a pretty good game. I thought he did a great job of stopping our good chances," Price said. "They obviously capitalized on a couple and that was all they needed."
Shore gave the Stars a 3-1 lead with a shorthanded goal at 9:27 of the third period. Radek Faksa stripped Artturi Lehkonen of the puck in front of the net and passed to Shore, who scored on a backhand in the slot.
"It's a 2-1 hockey game, we get a chance, we get a power play, and we go and get scored on," Gallagher said. "That can't happen."
Alexander Radulov, who missed the past four games with a lower-body injury, scored an empty-net goal at 17:23 to extend the lead to 4-1.
"I thought that was the best we've done so far in closing out a game," Stars coach Jim Montgomery said. "I didn't think we really gave them much after that."
Video: DAL@MTL: Shore nets SHG for third point of the game
Bishop saved a shorthanded penalty shot by Lehkonen 48 seconds into the second period before Esa Lindell scored a power-play goal to make it 1-0 at 1:49. Lindell took a pass from Shore on a 2-on-1 as he drove the left side of the slot and scored before Price could get across the crease.
Miro Heiskanen made it 2-0 at 7:24. Shore skated down the right wing before sending a backhand pass to Heiskanen, who beat Price glove side from the top of the left face-off circle four seconds after a power play ended.
Gallagher cut it to 2-1 at 2:58 of the third period. Montgomery challenged for goaltender interference, but the call was upheld after a video review.
Stars forward Jason Spezza played in his 1,000th NHL game. He was given a warm ovation from the crowd, which included his parents, when the milestone was announced during the first period.
"That was really nice, definitely unexpected," Spezza said. "You know it's nice to get respect from a hockey community like this that follows the game, knows the game so well. So that definitely was a touching moment for me."
Video: DAL@MTL: Heiskanen beats Price up high
They said it
"I enjoy playing against Carey [Price]. He's one of the best goalies in the world, so whenever you go against him you've got to be on your A game." -- Stars goalie Ben Bishop
"We just didn't do a good enough job of making it tough enough on Bishop." -- Canadiens forward Brendan Gallagher
Need to know
Spezza is the third player selected in the 2001 NHL Draft to play 1,000 games, joining Dan Hamhuis of the Nashville Predators (1,038) and Tomas Plekanec of the Canadiens (1,001). He has 896 points (326 goals, 570 assists) in 16 seasons with the Ottawa Senators and Stars. … Canadiens forward Paul Byron left with a lower-body injury in the second period. … Montreal assigned forward Nikita Scherbak to Laval of the American Hockey League for conditioning purposes after the game.
Stars: At the Toronto Maple Leafs on Thursday (7 p.m. ET; TSN4, FS-SW, NHL.TV)
Canadiens: Host the Washington Capitals on Thursday (7:30 p.m. ET; TSN2, RDS, NBCSWA, NHL.TV)
Video: Shore's three-point night leads Stars to 3-1 win