CINCINNATI (AP) -- First baseman Allen Craig's throwing error in the seventh inning helped the Cincinnati Reds rally for their fourth straight win, 5-3 over the St. Louis Cardinals on Friday night.
Craig fielded Ryan Hanigan's slow grounder with the bases loaded and threw wildly to first base, allowing two runs to score for a 3-2 lead off Adam Wainwright (7-9). Zack Cozart's sacrifice fly completed a three-run rally.
Todd Frazier had a solo homer off Wainwright, who allowed only two hits over the first six innings before letting it slip away. Brandon Phillips had three hits and scored twice.
Alfredo Simon (1-1) escaped a bases-loaded threat in the seventh by striking out Matt Holliday. Shane Robinson's pinch-hit single off Sean Marshall cut it to 4-3 in the eighth, but Ryan Ludwig tripled home a run in the bottom of the inning off Fernando Salas.
Aroldis Chapman fanned three in the ninth for his 12th save in 16 chances, repeatedly hitting 101 mph on the radar gun.
The Reds drew 40,217 fans - their seventh sellout of the season - for the opener of a series matching the teams trying to overtake first-place Pittsburgh in the NL Central. Both were on hot stretches coming out of the All-Star break - third-place St. Louis had won four of five, while second-place Cincinnati took three straight in San Diego.
The Reds pulled it out with three runs in the seventh after starter Mat Latos had an uncharacteristically quick night. Latos had thrown complete games in two of his last three starts, but managed only five innings and left trailing 2-1.
Cincinnati's rally preserved Latos' streak of no losses since April 18. The right-hander fell to 1-4 in five career starts against St. Louis with a 9.75 ERA.
Frazier's opposite-field homer in the fifth inning made it 66 consecutive games with at least one homer at Great American Ball Park, the longest active streak in the majors. It's the longest such streak overall since a homer was hit in 80 straight games at Coors Field in 2002-03, according to STATS LLC.
Cardinals catcher Yadier Molina returned after missing three games and the All-Star game to return to Puerto Rico, where his wife's grandfather died. Molina, who turned 30 on Friday, started St. Louis' first rally with a two-out double in the second.
Holliday drove in a run in the third by hitting into a fielder's choice. He had a broken-bat single in the ninth off Chapman, extending his hitting streak to a season-best 12 games.
St. Louis expects first baseman Lance Berkman to come off the disabled list before Saturday's game. Berkman has been sidelined since he tore cartilage in his right knee on May 19, requiring surgery. Berkman has 23 homers at Great American Ball Park, the most by any visiting player.
NOTES: The Cardinals are 4-3 against the Reds this season. ... Carlos Beltran of the Cardinals singled in the eighth inning, ending an 0-for-12 skid. .. RHP Kyle Lohse starts on Saturday for the Cardinals. He's allowed only one run in two starts against the Reds this season. RHP Mike Leake goes for Cincinnati. ... Ludwick turned 34 on Friday. ... Reds 3B Scott Rolen was out of the starting lineup for the eighth time in the last nine games. He's been bothered by back spasms. He pinch hit in the seventh and stayed in the game.