Ehlers gave Carolina a 1-0 lead 25 seconds into the first period. He kept the puck on a 2-on-1 and scored past Hart's glove with a shot from the left face-off circle.
It was the third-fastest opening goal in Game 1 of a Stanley Cup Final, and the fastest since Reggie Leach scored 21 seconds into the 1976 Final for the Philadelphia Flyers.
Ehlers struck again at 12:08, this time scoring on a breakaway set up by Jalen Chatfield to extend Carolina's lead to 2-0.
The Golden Knights huddled around their bench during a media timeout 20 seconds later and listened to coach John Tortorella implore them to play north and with patience.
"We have thoughts on how to play this team, and when we were down 2-0 I don't think we were playing that way, so we just discussed that," Tortorella said.
Vegas scored its first of three consecutive goals at 13:28, when Theodore's one-timer from the right point deflected in off Eric Robinson's left shin to make it 2-1. It came off a low-to-high pass from Cole Smith to McNabb, who then moved it across to his defense partner for the shot.
"We get it deep, we win the puck back, get traffic," forward William Karlsson said. "Hockey is simple that way."
Ivan Barbashev tied it 2-2 just 30 seconds into the second period, scoring short side with a high wrist shot from the left face-off circle after receiving a feed from Jack Eichel.
Barbashev's goal also made Stanley Cup Final history. It is the first time a goal has been scored in the opening 30 seconds of both the first and second period in any game.