Johnston won it with a tap-in at the left post off Roope Hintz's feed from the right circle on a 2-on-1 rush after Jake Oettinger stopped Shea Theodore's breakaway attempt on the other end.
Mavrik Bourque also scored, and Roope Hintz had three assists for the Stars (32-17-1), who have won three straight and four of five. Oettinger made 25 saves.
Jack Eichel and Pavel Dorofeyev each had a goal and an assist, and Tomas Hertl scored to extend his point streak to 10 games for the Golden Knights (31-15-5), who have lost six of eight. Mark Stone had two assists, and Adin Hill made 25 saves.
Eichel gave Vegas a 1-0 lead at 1:54 of the first period, tapping in a centering feed from Ivan Barbashev. It came less than a minute after Barbashev had a goal taken off the board after he was ruled offside.
Bourque tied it 1-1 at 3:41, scoring from the low slot after receiving a Matt Duchene pass.
Hertl put the Golden Knights back ahead 2-1 at 6:35, banking his shot off Oettinger's skate.
Dorofeyev extended it to 3-1 on a 5-on-3 power play at 3:57 of the second period when his shot went off Oettinger's right pad.
Johnston cut it to 3-2 with a short-handed goal at 5:04 off Theodore's giveaway.
Johnston's second goal of the game tied it 3-3 at 11:54 of the third period.
Dallas defenseman Miro Heiskanen left the game at 7:56 of the third and did not return after Stone collided into his legs.