Alfonso Soriano crushed the go-ahead, two- run home run in the top of the eighth inning and the Chicago Cubs knocked off the Pittsburgh Pirates, 4-2, in the finale of a three-game series at PNC Park.

Josh Vitters and Anthony Recker hit solo homers for the Cubs, who completed a three-game sweep on the heels of a six-game slide. Joe Mather added three hits in the triumph.

James Russell (7-1) earned the win after getting the final two outs in the seventh inning and Carlos Marmol worked out of trouble in the ninth to record his 18th save of the season.

Andrew McCutchen crushed a solo home run and Brock Holt went 3-for-5 with a run scored on a balk for the Pirates, who have lost seven of their last nine games.

Jason Grilli (1-6) took the loss after allowing Soriano's homer in the eighth.

With the game tied at two in the eighth, the Cubs took the lead for good. Anthony Rizzo got the inning started with a base hit up the middle and Soriano followed by crushing a first-pitch fastball from Grilli over the wall in straightaway center field for the 4-2 lead.

Facing Marmol in the ninth, Holt got the Bucs off to a good start with a single to left and Starling Marte drew a walk. Marmol got McCutchen to pop out, but walked Garret Jones to load the bases with one out.

Marmol then fanned Gaby Sanchez and got Pedro Alvarez to fly out weakly, ending the game.

Earlier, Pittsburgh struck first in its first at-bat as McCutchen crushed a fastball from Cubs starter Chris Rusin over the wall in left-center with two outs, giving the Bucs the early lead,

The Cubs took the lead in the fourth when Vitters and Recker ripped solo homers off Jeff Locke to make it a 2-1 game.

Pittsburgh threatened in the fifth when Locke and Holt hit back-to-back base hits, but Rusin came back to fan Marte, before getting McCutchen to fly out and Jones to line out, keeping the Cubs lead intact.

The Pirates threatened again in their next at-bat as Alvarez reached base with one out on an error by Rizzo and pinch-hitter Jeff Clement walked two batters later. Pinch-hitter Josh Harrison grounded into an inning-ending fielder's choice.

The Bucs tied the game in the seventh. Holt got the innings started with a triple into the right field. After Marte grounded out, McCutchen walked and Russell came in from the Chicago bullpen, but balked on the mound, which allowed Holt to score the tying run.

Game Notes

The Pirates fell to 27-20 in day games this season, including a 14-10 mark at home ... Rusin allowed one run on five hits and three walks with four strikeouts over five innings ... Locke surrendered two runs on seven hits with six strikeouts over six innings ... Pittsburgh finished 0-for-11 with runners in scoring position and left 13 on base.