McDavid scored a power-play goal on a shot from low in the left face-off circle that went under Allen's right pad at 2:46 of the first period to give Edmonton a 1-0 lead. Draisaitl had the primary assist on the play to extend his point streak to seven games (seven goals, six assists).
Schwartz tied it 1-1 on the power play at 6:02, redirecting in a point shot from Pietrangelo, who scored a power-play goal at 7:10 of the second period on a one-timer from the high slot to give St. Louis a 2-1 lead.
Thomas made it 3-1 at 15:18 on a shot from the top of the left face-off circle.
"It was a good team effort at the end. They really brought it to us and they're a good, explosive team," Thomas said. "We knew they were going to come with a big push and [Allen] stood tall for us."
Kassian cut it to 3-2 at 11:02 of the third period, converting a cross-ice pass from Draisaitl.
"It was one of those games. They just played a solid, solid game," Oilers coach Dave Tippett said. "They made the plays that counted. We took [three] penalties and they capitalized on two, and we also made a real poor rush read for their third one and we were chasing the game against a good team."