Pedro Alvarez collected two hits and knocked in three runs as Pittsburgh topped Chicago, 8-2, in the middle portion of a three-game series.
Jordy Mercer homered, with Andrew McCutchen and Starling Marte driving in a run each for the Pirates, who have won four of their last six.
"We're still trying to win our division," said McCutchen. "That's what we're shooting for."
Gerrit Cole (10-7) worked six innings, giving up seven hits and two runs with six strikeouts. He also contributed a two-run single as the Bucs moved one game ahead of Cincinnati for the top spot in the NL wild card race. The Reds lost to the Mets.
Pittsburgh also remained two games behind the Cardinals, who blanked the Nationals, for the NL Central crown with four games to play.
"The Reds weren't able to come back," said Pirates manager Clint Hurdle. "At the end of the night, we're one up on the Reds and two back of the Cardinals so we have to keep fighting."
Starlin Castro and Anthony Rizzo knocked in runs for the Cubs, who have dropped three in a row and nine of their last 11.
Chris Rusin (2-6) was yanked after 2 1/3 frames, charged with six hits and four runs in defeat.
"I think I did a pretty good job this year," said Rusin. "I'm not satisfied but it was a lot better than I did last year. I want to keep improving each year."
The Bucs jumped on Rusin for three runs in the second inning, thanks to an RBI ground-rule double from Alvarez and a two-out, two-run single from Cole.
Mercer's third-inning blast put the visitors up by four, but the Cubs got on the board in the home half when Logan Watkins singled, was sacrificed to second and scored on Castro's infield hit.
It was 6-1 in the fifth for the Pirates after Alvarez doubled home a pair. McCutchen and Marlon Byrd, who singled and walked, respectively, to begin the frame, came around on the one-out hit.
Chicago tacked on another run in the sixth, as Ryan Sweeney led off with a single, Castro followed with a base hit and Rizzo's grounder to deep short brought Sweeney in.
Pittsburgh upped its lead to 8-2 in the eighth after Marte lofted a bloop double to short left, which scored Felix Pie, and came home on McCutchen's two-out base hit.
The Pirates have taken 12 of 18 meetings with the Cubs this season, including five of eight in Chicago ... Cole upped his output to five RBI this season -- including four in his last two starts -- and his average was raised to .206 ... Sweeney finished 3-for-3 in the setback.