All three home runs came with a man on against Lackey (1-1), making his second start since coming from Boston in a July 31 trade. The right-hander gave up nine runs and 13 hits in five-plus innings to fall to 14-8 lifetime against Baltimore.
The Orioles have hit nine homers in winning the first two games of the three-game set by a collective 22-5 score. Baltimore has captured seven straight series and leads the AL East by six games, its largest margin since September 1997.
"Obviously, they are a hot team right now," Lackey said. "You got to give them a lot of credit. They're swinging the bats well. Hits were falling in. A couple of them were hit real hard and they went out of the yard."
Joseph, a rookie, had three homers in his first 48 games before his recent power surge. The club record for homers in successive games is six, by Reggie Jackson and Chris Davis.
"Maybe seven, eight months ago I was thinking about hanging it up," Joseph said. "Every day in the big leagues is such a blessing, and especially to be on this team with this group of guys and to be in first place."
Baltimore leads the majors with 147 homers and has connected in eight straight games. Over the last two days, the Orioles have gotten home runs from eight different players.
"This is a team that is swinging the bat well," Cardinals manager Mike Matheny said. "When you have some confidence in the entire lineup, it doesn't matter who is pitching. It's just another one of those days. I don't think there have been many times this year when we said, 'It's one of those days,' two days in a row. They just kept swinging."
Ubaldo Jimenez (4-8) returned from a stint on the disabled list with a sprained right ankle to earn his first win since May 8. He allowed three runs, six hits and three walks over six innings.
Jimenez, who signed a four-year, $50 million contract during the offseason, was 0-5 with a 10.55 ERA in day games and 1-6 at home.
"The guys have been on a good run in the last month, last month-and-a-half and so I am very happy to be part of it," the right-hander said.
Jon Jay homered and had two RBIs and Jhonny Peralta hit two doubles for the Cardinals, now 7-12 in interleague play.
An RBI double by Peralta gave St. Louis a 1-0 lead in the first, but Matt Holliday was thrown out while trying to score on the hit.
After Jay hit his second homer in 266 at-bats in the second, Baltimore went in front in the bottom half when Young doubled in a run and Joseph homered.
Cruz connected in the third after an infield hit by Adam Jones for a 5-2 lead. It was his first homer since July 25.
Young homered to cap a three-run fifth, and the Orioles chased Lackey in the sixth with three straight singles.
Cardinals: Lance Lynn (11-8) makes his team-high 24th start Sunday. He's got a 1.32 ERA in interleague play.
Orioles: Rookie Kevin Gausman (6-3) makes his first start against the Cardinals. The right-hander allowed one earned run in six innings at Washington on Monday.
The Orioles sent RHP Miguel Gonzalez to Triple-A Norfolk to make room for Jimenez. Gonzalez won't be there for long.
"Sometimes you've got to do what's right for the club," manager Buck Showalter said. "This guy has been solid for us for 2½ years and will be again. He's one of the reasons we are where we are right now. He'll be back."
Nelson Cruz's 30th home run of the season was calculated at 426 feet, his 14th homer of at least 425 feet in the last two seasons. That trails only Mike Trout among American League batters (21).
John Lackey has allowed 9 earned runs today...that is his most since May 11, 2011...
His 13 hits allowed, was also his 2nd most he has ever allowed in a start in his career...
Lackey has also allowed 3 HR tonight...in the 4 starts in his career previous to today he allowed 9 earned runs or more, he never has allowed 3+ HR in the same game...