Yasiel Puig hit a game-tying double to end Miles Mikolas' shutout bid, Josh VanMeter followed with his first major league home run and the Cincinnati Reds snapped a four-game losing streak with a 3-2 win over the St. Louis Cardinals on Saturday.

VanMeter and Eugenio Suarez each had two hits for the Reds, who are in last place in the NL Central, a season-high nine games behind first place Chicago.

More Images
St. Louis Cardinals starting pitcher Miles Mikolas (39) throws against the Cincinnati Reds during the first inning of a baseball game, Saturday, July 20, 2019, in Cincinnati. (AP PhotoGary Landers)

Yasiel Puig hit a game-tying double to end Miles Mikolas' shutout bid, Josh VanMeter followed with his first major league home run and the Cincinnati Reds snapped a four-game losing streak with a 3-2 win over the St. Louis Cardinals on Saturday.

Cincinnati Reds starting pitcher Luis Castillo throws against the St. Louis Cardinals during the first inning of a baseball game, Saturday, July 20, 2019, in Cincinnati. (AP PhotoGary Landers)

Mikolas (6-10) allowed six hits and three runs with two walks and four strikeouts. He also hit a batter.

St. Louis Cardinals' Jose Martinez lets a fan blow his hair as he cools off in the dugout during the fifth inning of a baseball game against the Cincinnati Reds, Saturday, July 20, 2019, in Cincinnati. (AP PhotoGary Landers)

Lorenzen stayed in the game and earned his sixth save.

St. Louis Cardinals' Kolten Wong (16) is forced out a second on a double play ball off the bat of Paul DeJong as Cincinnati Reds shortstop Jose Iglesias, left, throws to first during the fifth inning of a baseball game, Saturday, July 20, 2019, in Cincinnati. Backing up the play is Reds second baseman Jose Peraza (9). (AP PhotoGary Landers)

Castillo left for a pinch-hitter after six innings. He limited St. Louis to five hits and one run with a walk and five strikeouts.

Cincinnati Reds starting pitcher Luis Castillo (58) points to the stands as he leaves the field during the first inning of a baseball game against the St. Louis Cardinals, Saturday, July 20, 2019, in Cincinnati. (AP PhotoGary Landers)

UP NEXT

St. Louis Cardinals' Tommy Edman, right, is safe at second base with a double as Cincinnati Reds shortstop Jose Iglesias (4) takes the throw during the fourth inning of a baseball game, Saturday, July 20, 2019, in Cincinnati. (AP PhotoGary Landers)

More AP baseball coverage: www.apnews.com/MLB and www.twitter.com/AP_Sports

St. Louis Cardinals' Tommy Edman (19) is forced out at second base on a double play ball off the bat of Paul Goldschmidt as Cincinnati Reds second baseman Jose Peraza, left, throws to first during the first inning of a baseball game, Saturday, July 20, 2019, in Cincinnati. (AP PhotoGary Landers)

St. Louis Cardinals' Tommy Edman (19) is forced out at second base on a double play ball off the bat of Paul Goldschmidt as Cincinnati Reds second baseman Jose Peraza, left, throws to first during the first inning of a baseball game, Saturday, July 20, 2019, in Cincinnati. (AP PhotoGary Landers)

Suarez led off the seventh with a single and scored from first on a double into the left-center field gap by Puig. Two pitches later, VanMeter hit a two-run homer into the Cincinnati bullpen down the right field line.

St. Louis Cardinals starting pitcher Miles Mikolas (39) throws against the Cincinnati Reds during the first inning of a baseball game, Saturday, July 20, 2019, in Cincinnati. (AP PhotoGary Landers)

St. Louis Cardinals starting pitcher Miles Mikolas (39) throws against the Cincinnati Reds during the first inning of a baseball game, Saturday, July 20, 2019, in Cincinnati. (AP PhotoGary Landers)

Mikolas (6-10) allowed six hits and three runs with two walks and four strikeouts. He also hit a batter.

Amir Garrett (4-1) pitched a perfect seventh in his first appearance since July 2 after coming off the disabled list on Saturday.

Matt Wieters led off the sixth with his seventh homer of the season for the Cardinals, who had won three straight and six of seven to move into second place in the division. Harrison Bader scored from third on Jose Martinez's groundout against Michael Lorenzen in the eighth.

Cincinnati Reds starting pitcher Luis Castillo throws against the St. Louis Cardinals during the first inning of a baseball game, Saturday, July 20, 2019, in Cincinnati. (AP PhotoGary Landers)

Cincinnati Reds starting pitcher Luis Castillo throws against the St. Louis Cardinals during the first inning of a baseball game, Saturday, July 20, 2019, in Cincinnati. (AP PhotoGary Landers)

Lorenzen stayed in the game and earned his sixth save.

One day after St. Louis overpowered Cincinnati in a 12-11, nine-inning slugfest, Mikolas and All-Star Luis Castillo hooked up in a pitcher's duel through six innings.

The teams turned a combined five double plays through the first five innings while moving just one runner into scoring position.

St. Louis Cardinals' Jose Martinez lets a fan blow his hair as he cools off in the dugout during the fifth inning of a baseball game against the Cincinnati Reds, Saturday, July 20, 2019, in Cincinnati. (AP PhotoGary Landers)

St. Louis Cardinals' Jose Martinez lets a fan blow his hair as he cools off in the dugout during the fifth inning of a baseball game against the Cincinnati Reds, Saturday, July 20, 2019, in Cincinnati. (AP PhotoGary Landers)

Castillo left for a pinch-hitter after six innings. He limited St. Louis to five hits and one run with a walk and five strikeouts.

TRAINER'S ROOM

Reds: The Reds hope RHP Tyler Mahle can make his next start on Wednesday at Milwaukee after his hamstring tightened on his last pitch Saturday.

St. Louis Cardinals' Kolten Wong (16) is forced out a second on a double play ball off the bat of Paul DeJong as Cincinnati Reds shortstop Jose Iglesias, left, throws to first during the fifth inning of a baseball game, Saturday, July 20, 2019, in Cincinnati. Backing up the play is Reds second baseman Jose Peraza (9). (AP PhotoGary Landers)

St. Louis Cardinals' Kolten Wong (16) is forced out a second on a double play ball off the bat of Paul DeJong as Cincinnati Reds shortstop Jose Iglesias, left, throws to first during the fifth inning of a baseball game, Saturday, July 20, 2019, in Cincinnati. Backing up the play is Reds second baseman Jose Peraza (9). (AP PhotoGary Landers)

UP NEXT

Cardinals: RHP Jack Flaherty (4-6) allowed four hits in seven scoreless innings of St. Louis's 5-2 win on April 28 at Busch Stadium.

Reds: RHP Anthony DeSclafani (5-4) is 3-1 with a 3.32 earned-run average over his last seven starts.

Cincinnati Reds starting pitcher Luis Castillo (58) points to the stands as he leaves the field during the first inning of a baseball game against the St. Louis Cardinals, Saturday, July 20, 2019, in Cincinnati. (AP PhotoGary Landers)

Cincinnati Reds starting pitcher Luis Castillo (58) points to the stands as he leaves the field during the first inning of a baseball game against the St. Louis Cardinals, Saturday, July 20, 2019, in Cincinnati. (AP PhotoGary Landers)

More AP baseball coverage: www.apnews.com/MLB and www.twitter.com/AP_Sports

St. Louis Cardinals' Tommy Edman, right, is safe at second base with a double as Cincinnati Reds shortstop Jose Iglesias (4) takes the throw during the fourth inning of a baseball game, Saturday, July 20, 2019, in Cincinnati. (AP PhotoGary Landers)

St. Louis Cardinals' Tommy Edman, right, is safe at second base with a double as Cincinnati Reds shortstop Jose Iglesias (4) takes the throw during the fourth inning of a baseball game, Saturday, July 20, 2019, in Cincinnati. (AP PhotoGary Landers)

St. Louis Cardinals' Tommy Edman (19) is forced out at second base on a double play ball off the bat of Paul Goldschmidt as Cincinnati Reds second baseman Jose Peraza, left, throws to first during the first inning of a baseball game, Saturday, July 20, 2019, in Cincinnati. (AP PhotoGary Landers)

St. Louis Cardinals' Tommy Edman (19) is forced out at second base on a double play ball off the bat of Paul Goldschmidt as Cincinnati Reds second baseman Jose Peraza, left, throws to first during the first inning of a baseball game, Saturday, July 20, 2019, in Cincinnati. (AP PhotoGary Landers)