Miles Mikolas was feeling fresh for St. Louis, and that was bad news for the Pittsburgh Pirates.
Cardinals rookie Tyler O'Neill hit a three-run homer during a six-run eighth inning, Marcell Ozuna drove in three and Mikolas pitched seven solid innings after an extra day off to lift the Cardinals over the Pirates 11-5 on Tuesday night.
Mikolas (15-5) gave up a run, five hits and a walk while striking out seven with 107 pitches. He dropped his ERA to 2.99, and he got his first victory in five starts against the Pirates this season.
Mikolas struck out five straight in one stretch, and the Cardinals improved to 21-8 in his starts.
Pittsburgh manager Clint Hurdle was impressed with Mikolas, who signed with St. Louis before this season following three years in Japan.
Ozuna is hitting .352 this season against Pittsburgh. He has 13 RBIs against the Pirates and 79 on the season.
Since coming off the disabled list for his balky right shoulder, Ozuna has been hot.
He extended his hitting streak to seven games (13 for 30, .433). It was his team-leading 20th game with multiple RBIs this season.
Joe Musgrove (6-9) went six innings. He allowed four hits, four runs and two walks while striking out eight.
St. Louis took a 2-0 lead in the first when Ozuna hit a two-run double to left, scoring Matt Carpenter and Jose Martinez.
Corey Dickerson countered for Pittsburgh with an RBI single in the fourth before St. Louis added two runs in the sixth after loading the bases with no outs. After Ozuna struck out, Musgrove threw a wild pitch to score Carpenter. Paul DeJong hit a sacrifice fly to center, driving in Martinez for a 4-1 lead.
A wild pitch by Pirates reliever Tanner Anderson with the bases load in the seventh let Francisco Pena score.
Then St. Louis blew it open in the eighth. Pena singled home Kolten Wong from second base, and O'Neill then hit a 3-0 pitch 457 feet into the upper left field bleachers for his eighth home run. The shot knocked out rookie pitcher Nick Burdi, who was making his major league debut.
Pinch-hitter Adolis Garcia added a run-scoring double off Clay Holmes, and Ozuna finished off the St. Louis scoring with a sacrifice fly. It was the first career RBI and extra-base hit for Garcia.
The Pirates scored four runs and five hits in the ninth off Luke Weaver. John Brebbia relieved to record the final out.
Up next the cardinals RHP Daniel Poncedeleon (0-1, 2.67) will make his fourth start of the season and it will be his first appearance against the Pirates. He pitched two innings of scoreless relief Saturday in Detroit.