Cincinnati Reds third baseman Todd Frazier, left, tags out Chicago Cubs' Anthony Rizzo at third base in the fourth inning during a baseball game in Chicago, Thursday, Aug. 9, 2012. (AP Photo/Paul Beaty)
Alfonso Soriano hit a go-ahead homer in the eighth inning and the Chicago Cubs snapped an eight-game losing streak with a 5-3 win over the slumping Cincinnati Reds on a rain-soaked Thursday night.
With the score tied at 3, Reds reliever Sean Marshall (4-4) walked Anthony Rizzo. Just as the skies cleared up, Soriano cracked a two-run shot to center field off Logan Ondrusek.
Shawn Camp (3-5) pitched a perfect eighth for the win and Carlos Marmol worked the ninth for his 14th save in 16 chances.
Todd Frazier and Zack Cozart homered for Cincinnati after the start was delayed by rain for 1 hour, 20 minutes. The NL Central leaders lost their fifth straight but remained 2½ games ahead of second-place Pittsburgh.
It was Soriano's 20th home run. He joined Albert Pujols and David Ortiz as the only active players with 20 or more homers in 11 straight seasons.
Soriano also joined Hall of Famer Andre Dawson as the only players in Cubs history to reach 20 homers in their first six seasons with the club.
Starlin Castro tied it in the sixth with a two-run double off Cincinnati starter Mike Leake. Castro was mired in a 1-for-24 slump before hitting a liner off the center-field wall.
Cubs right-hander Chris Volstad is winless in 22 starts since July 17, 2011. The 25-year-old pitcher allowed three runs and six hits over six innings, including two solo homers.
It took 35 pitches for Volstad to work his way out of a two-run first inning.
Cozart greeted Volstad with his fourth leadoff home run, capping an eight-pitch at-bat. It was his 13th of the season.
Frazier took Volstad deep in the fourth for his 14th homer of the year.
Volstad let at least one runner aboard in each inning he pitched, but managed to escape with a quality start.
Leake was charged with three runs in six innings. He struck out five and walked two.
The right-hander cruised through five innings before Castro came through with runners on first and third. He had given up nine runs in his last two starts, a span of just 7 2-3 innings.
Rizzo got the Cubs on the board in the first with an RBI single to score David DeJesus.
Rizzo reached base four times, including a double to lead off the fourth, but the 23-year-old slugger was too aggressive on the basepaths and was thrown out at third trying to advance on Soriano's groundout.
Former first-round draft pick Brett Jackson went 0 for 3 in his home debut for Chicago.