Oliver Ekman-Larsson had a goal and an assist, Dylan Strome had three assists, and Antti Raanta made 34 saves for the Coyotes (28-40-11), who are 3-1-0 in their past four games.
"St. Louis is probably one of the hottest team for the last month or so," Coyotes coach Rick Tocchet said. "It was a complete effort."
Luke Schenn gave the Coyotes a 1-0 lead at 14:59 of the first period on a one-timer from the high slot. The goal was Schenn's first since April 6, 2017.
Richard Panik made it 2-0 at 3:51 of the second period when he beat Blues goaltender Jake Allen short side from the right face-off circle off a cross-ice pass from Clayton Keller. Keller has 15 points (five goals, 10 assists) in his past 12 games.
Allen, who made 12 saves, was pulled following the goal and replaced by Carter Hutton. Hutton (neck) was making his first appearance since March 3 and made 15 saves.
"The decision to pull Jake was not about him," Yeo said. "It was about the schedule that we have coming up. Jake's been a warrior for us."
Ekman-Larsson extended the lead to 3-0 at 15:09 with a power-play goal, scoring from the left hashmarks off a pass from Panik.
Jakob Chychrun, who turned 20 on Saturday, made it 4-0 at 19:40 with a wrist shot that beat Hutton glove side.
"I've had a tough time scoring this year, so it's nice to see one go in, and on my birthday, too," Chychrun said.
Alex Goligoski scored to make it 5-0 at 11:59 of the third period with a one-timer from the top of the right circle. Zac Rinaldo made it 6-0 at 17:40 of the third period.