Jonathan Huberdeau and Connor Zary scored for Calgary (13-10-5), which has one win in its past six games (1-5-1). Dustin Wolf made 22 saves.
Roope Hintz gave Dallas a 3-2 lead at 5:13 of the third period when he redirected a pass from Esa Lindell five-hole as he drove to the front of the net.
“The structures in the third, I thought we were pretty good as well but then I felt we hurt ourselves," Calgary coach Ryan Huska said. "We allowed them to get behind us a little bit and too many odd-man rushes against a good hockey team is not a recipe for success."
Sam Steel extended the lead to 4-2 at 12:01 on a shot from the far edge of the right face-off circle.
Harley then made it 5-2 at 13:02 when his point shot deflected in off the far post. Harley scored again at 19:02 for the 6-2 final.
“In previous games, we’ve had opportunities and haven’t cashed in. They come the other way and get one and we’re just trying to crawl back at that point,” Steel said. “It starts with doing the right things and then we capitalized on the opportunities.”
Huberdeau gave Calgary a 1-0 lead 1:00 into the first period on a snap shot off a cross-ice pass by Nazem Kadri.
“We fell asleep for five to seven minutes. They took advantage. I thought the first two periods, 5-on-5, we had some chances,” Huberdeau said. “We just got to throw this one behind us and focus on Nashville.”
Wyatt Johnston tied it 1-1 at 4:26 with a short-handed goal. He forced a turnover inside the blue line and beat Wolf high glove side.