Esa Lindell's knuckling shot from the left point deflected off Dickinson's skate in the slot to make it 2-0 at 16:59.
McCormick scored his first goal of the season when he batted the puck in after Morgan Geekie fed him with a no-look backhand pass from behind the net, cutting it to 2-1 at 13:24 of the second period.
It was McCormick's fourth game of the season and second since he sustained an upper-body injury Jan. 30.
"We've been skating a lot and staying in good shape and trying to stay ready when your opportunity comes," McCormick said. "So that one felt pretty good."
Slavin tied it 2-2 at 16:28. He took advantage of Dallas forward Andrew Cogliano playing without a stick and sent a wrist shot to the short side over Oettinger's blocker from the left face-off circle.
Gurianov's one-timer off a cross-ice pass from Benn put the Stars ahead 3-2 at 17:04.
"He's playing with more confidence, using his speed," Benn said. "Obviously, it's a great tool of his. I'm just trying to work with him every day. Me, [Dickinson] and him are always talking about how to get better and what we need to do."
Hakanpaa tied it 3-3 when he took a pass from Geekie and scored on a shot from the point that changed direction at 15:46 of the third period.
"It's always fun to get one in the back of the net," Hakanpaa said. "I can tell the boys wanted to get those two points, but I guess it's really nice to get that playoff spot."
NOTES: Robertson had two assists to extend his point streak to eight games (three goals, nine assists). … Pavelski leads the NHL with 12 power-play goals, including four against Carolina. … Stars defenseman John Klingberg, who was a game-time decision, missed a second straight game with a lower-body injury. ... Hurricanes defenseman Dougie Hamilton played his 600th NHL game. … McCormick's goal was his first since Nov. 3, 2018, for the Ottawa Senators against the Buffalo Sabres.