Adam Jones and Mark Trumbo hit back-to-back homers in the first inning and Manny Machado added a solo shot off starter Adam Wainwright (7-5). Baltimore scored nine of its runs off Wainwright, who lasted just 1 2/3 innings -- the shortest start of his 12-year career.
Dexter Fowler hit a three-run homer off reliever Alec Asher in the sixth that pulled St. Louis to within 12-7. The Orioles extended a franchise record by allowing at least five runs for the 14th straight game.
Mychal Givens then contained the Cardinals with 2 1/3 scoreless innings and a career-high 42 pitches. Baltimore got some breathing room in the seventh on a solo shot by Schoop and a double by J.J. Hardy that provided a 14-7 lead.
A passed ball gave Baltimore its 15th run in the eighth -- the team's highest output since 2015. The Orioles won for just the second time in the past 10 games.
Paul DeJong and Yadier Molina also went deep for the Cardinals, who were 2-for-9 with runners in scoring position.
Orioles left-hander Wade Miley (3-4) scuffled early, walking two of the first three batters he faced. That proved costly as Schoop could not handle a hard grounder by Molina, allowing St. Louis to take a 1-0 lead.
Miley allowed six runs (five earned) on six hits with eight strikeouts and four walks over 5 2/3 innings.
Baltimore pulled ahead on the homers by Jones and Trumbo and then took control with seven runs in the second. Hardy set the tone with a two-run double and Machado hit a solo homer two batters later. Trey Mancini had another two-RBI double that ended Wainwright's day. Left-hander Tyler Lyons entered and allowed an RBI single to Schoop.
After DeJong pulled St. Louis to within 9-3 in the fourth, a wild pitch by Lyons gave Baltimore its 10th run in the bottom half. Schoop provided a 12-3 lead with a two-run shot later that inning.
NOTES: Baltimore 1B Chris Davis (strained right oblique) would not speculate on how long he might be out of the lineup. He went on the 10-day DL on Wednesday retroactive to the prior day. ... Cardinals 1B Matt Carpenter got the nod as the DH and went 0-for-3 in the leadoff spot. ... Orioles RHP Mike Wright (shoulder) received a cortisone injection in his shoulder Friday and will be shut down for at least three days.