Jamie Benn had a goal and two assists, and Jason Robertson scored twice for the Stars (45-19-9), who have won five straight. Scott Wedgewood made 17 saves.
"Everyone’s really churning right now and contributing and playing the right way and not deviating from what works and what we want to do," Robertson said. "So, it's encouraging to see and I think it's contagious."
William Eklund had a goal and an assist, and Mackenzie Blackwood made 35 saves for the Sharks (16-47-8), who have lost eight straight (0-7-1) and 17 of their past 18 (1-14-3).
"I didn’t like our physicality, or lack thereof," San Jose coach David Quinn said. "We’re better than that, and we've been better than that. But unfortunately we were slow closing in on people. I thought they just had way, way too much room all night."
Johnston put Dallas ahead 1-0 at 12:06 of the first period on a short-handed breakaway.