Matt Duchene scored the lone goal for the Stars (43-18-11), who have lost four in a row (0-3-1). Jake Oettinger made 23 saves.
Dallas is three points ahead of the Minnesota Wild for second place in the Central Division.
“We're far away from the game we were playing eight or nine games ago, but we’re moving in the right direction,” Dallas coach Glen Gulutzan said. "I thought that was a good goalie performance by both goalies. I thought their goalie, Sorokin, was really, really good. So, you get that, and you have a team fighting for their lives, and I thought we battled and competed. It was very even, and we just couldn't get a second one by him.”
Horvat gave the Islanders a 1-0 lead at 4:48 of the first period. He took a pass from Heineman as he was streaking down the left wing and roofed a shot over Oettinger's blocker from the circle.
“It came off the rush, and Heineman made a great play to get that over to me with speed,” Horvat said. "It was a great play by him to try to get the middle and get it to me wide. I just had to try to put it in from there. And, thankfully, I picked my spot.”
Sorokin kept the Islanders in front when he got his right pad on Sam Steel’s breakaway attempt at 10:25 of the first. He then slid over to deny Jason Robertson after the Stars forward was left all alone at the post on a power play at 10:07 of the second period.
Ritchie doubled the Islanders' lead to 2-0 at 2:19 of the third period when Schaefer’s shot from the left point deflected in off his skate while he was battling for position in front with Tyler Myers.
“I could say that (I was trying to bank it off Ritchie), but I was honestly just throwing it to the net there,” Schaefer said. “So, I mean, it’s a lucky bounce. I mean, no one hates a lucky bounce. I love it.”