After allowing nine home runs in losing the first two games of the series by a collective 22-5 score, the Cardinals amassed a season-high 17 hits - 14 of them singles.
St. Louis came into the game with 80 home runs compared to 147 for Baltimore, but the Cardinals' style of little ball produced a big win.
''We walked in here today and that's all the conversation was, we've got to win this, we've got to figure out a way to get this one,'' manager Mike Matheny said. ''We felt good about what our offense could do. The guys, they were taking good at-bats all day long. We got a couple big hits when we needed them; that's usually the difference.''
Bourjos capped the barrage with a three-run drive in the ninth off Zach Britton, ending the left-hander's run of 27 straight scoreless appearances at home.
The additional runs seemed to be unnecessary, but against the Orioles it's hard to determine how much offense is enough.
''We saw what they can do the last couple nights and we had to keep pushing to keep pace with them and keep the lead,'' third baseman Daniel Descalso said.
Wong's four hits, all of them singles, matched a career high and lifted his batting average 11 points to .253.
St. Louis right-hander Lance Lynn (12-8) gave up three runs and nine hits over 5 2-3 innings, only the second time in his last 12 starts that he allowed more than two runs.
''They've got some guys that can hit the ball all the way up and down the lineup, and I knew that going in today it was going to be a grind,'' Lynn said. ''I was able to make enough pitches when I needed to and get out of some jams.''
Nick Markakis had four hits for the Orioles, who went 2 for 13 with runners in scoring position. Caleb Joseph's streak of consecutive games with a home run ended at five, one short of the club record.
Orioles manager Buck Showalter was ejected after a replay overturned an out call on a force play in the top of the seventh. His first ejection of the season was automatic after he came out to argue the result of a replay.
Baltimore starter Kevin Gausman (6-4) allowed three runs and eight hits in five innings.
''I like that he didn't let the game get away from him completely,'' Showalter said. ''A lot of borderline pitches. It wasn't like he imploded.''
The AL East-leading Orioles next host the New York Yankees for a three-game series that begins Monday night. New York trails by six games.
''We don't really look at it quite the way everybody else does,'' Showalter said. ''It's significant because they're one of the teams we've got to be better than when the smoke clears.''
St. Louis went up 4-2 in the sixth on an RBI single by Descalso, but Markakis matched that in the bottom half with a run-scoring single.
Successive doubles by Descalso and Matt Carpenter, off Andrew Miller in the eighth, made it 5-3.
Bourjos wrapped it up with his home run. He entered as a pinch runner in the seventh.
Orioles: Shortstop J.J. Hardy was a late scratch from the starting lineup with a sprained left thumb. ''I was full uni, ready to go,'' Hardy said afterward. ''I was planning on playing.''
Cardinals: Right-hander Shelby Miller (8-8) seeks his 25th career victory Monday night in the opener of a three-game series in Miami.
Orioles: Baltimore looks to improve upon its 6-3 record against the Yankees when Bud Norris (9-7) faces New York's Chris Capuano (1-2) on Monday night.
Cardinals: Lynn hadn't allowed more than two runs in six straight starts before this one.
Orioles: Their eight-game run with at least one long ball ended. Baltimore is 56-25 when hitting a HR and 11-25 when it doesn't.