Dallas leads Colorado by five points with four games remaining.
Jamie Benn also had a goal and two assists, Tyler Seguin scored twice, and Matt Duchene had a goal and an assist for the Stars (49-20-9), who were coming off a 3-2 loss to the Chicago Blackhawks on Saturday but are 9-1-0 in their past 10 games. Thomas Harley had three assists, and Jake Oettinger made 36 saves.
Brandon Duhaime had a goal and an assist, and Nathan MacKinnon had two assists for the Avalanche (48-24-6), who are 2-4-1 in their past seven games. Alexandar Georgiev made 30 saves.
Sean Walker gave the Avalanche a 1-0 lead at 1:59 of the first period, scoring with a shot from the right point that Oettinger missed with his blocker.
Duchene tied it 1-1 at 17:11. He got a step on Colorado defenseman Josh Manson and deked Georgiev before shooting into an open net.
Benn made it 2-1 at 19:17. Johnston broke his stick on a one-timer after skating in off the bench, but Esa Lindell got the puck and sent a slap pass to Benn for a redirection near the left post.
Artturi Lehkonen tied it 2-2 with a power-play goal at 4:38 of the second period, finishing a backdoor pass from MacKinnon five-hole at the right post.
Roope Hintz put the Stars back in front 3-2 with his own power-play goal at 11:25. He deflected in a centering pass from Joe Pavelski on a rush to complete a give-and-go.
Seguin scored another power-play goal with a one-timer from the right hash marks to make it 4-2 at 12:45.
Both goals came with Walker serving a double minor for high-sticking.
Mason Marchment extended the lead to 5-2 with the Stars' third straight power-play goal at 17:10. He tapped in his own rebound after his initial redirection hit off the post.
Duhaime made it 5-3 at 19:15, winning a battle with Nils Lundkvist in front and burying the rebound of MacKinnon's shot with his backhand.
Jonathan Drouin cut it to 5-4 at 10:15 of the third period with a deflection of Devon Toews’ point shot.
Johnston pushed it to 6-4 at 15:12 when he poked in a loose puck at the right side of the net, and Seguin scored into an empty net at 19:51 for the 7-4 final.