This time, the Pirates scored enough to win it.
Joe Musgrove cruised through seven innings and the Pirates snapped a five-game losing streak with a 3-1 victory on Saturday night.
Musgrove (5-7) allowed one run on five hits with seven strikeouts. He has gone seven innings and surrendered two runs or fewer in four of his past five starts.
"We've been throwing the ball really well," Musgrove said. "The starters have been giving us a chance to win. We got two really good performances in a row from (Ivan) Nova and Trevor (Williams), so you don't want to give up five or six runs and get rocked, and have that string of good performances end."
Pittsburgh won for the second time in eight games. The first-place Cubs had their three-game winning streak snapped after 1-0 victories in the first two games of the series.
Felipe Vazquez retired the side in order with two strikeouts in the ninth inning for his 27th save.
The Pirates' three runs came in the second inning, when Adam Frazier had an RBI double after Josh Bell and Francisco Cervelli walked to start the inning. That ended Pittsburgh's streak of 24 innings without a run scored.
Frazier's double off Tyler Chatwood (4-6) drove in Bell from second and gave the Pirates a 1-0 lead. A groundout from Colin Moran scored Cervelli before Adeiny Hechavarria hit a sacrifice fly to left field, allowing Frazier to score and make it 3-0.
"It wasn't a whole lot different than the last two nights. It really wasn't," Cubs manager Joe Maddon said. "We gave up three runs in one inning, otherwise you had yourself another 1-0 game. Bullpen was outstanding. Of course, Chatwood struggled. That was obvious. Offensively, we have to get it together on offense."
Musgrove got out of a jam with the Pirates leading 3-1 in the fifth inning. He allowed consecutive one-out singles by Wilson Contreras and Tommy La Stella, but with runners on the corners, Musgrove struck out Addison Russell and got Ben Zobrist to fly out to end the inning.
"He was very, very good," Pirates manager Clint Hurdle said. "His secondary pitches were top shelf, especially the changeup. The changeup was a swing-and-miss pitch. It was the separator. The fastball played to both sides. The curveball was good. He had command of four pitches."
Chatwood, who has walked 93 batters in 101 2/3 innings this season, lasted just two innings before being pulled after walking Corey Dickerson to lead off the third. He threw 37 pitches (21 strikes) and allowed the three runs on two hits with three walks.
"Just keep working. It's the only thing I can do," Chatwood said. "I'm fighting myself and I'm trying to beat another team. So, it feels like I'm fighting uphill. All you can do is keep trying to come back and regain the form I had in the past."
Before Chatwood exited, Zobrist homered to right field, cutting the Pirates' lead to 3-1 in the third.
Cubs: Zobrist replaced OF Ian Happ in the lineup. Happ entered as a pinch hitter in the seventh and reached first on an error by Frazier before taking over in center field in the bottom half of the inning. Happ had one of Chicago's six hits Friday, but struck out twice in four at-bats.
Pirates: After losing 1-0 for a second straight game Friday, Pittsburgh made two lineup adjustments, with Frazier replacing Josh Harrison at second base and Moran taking over for David Freese at third. Harrison, who had an error in the sixth inning, and Freese were a combined 1 for 7 Friday.
Cubs: LHP Jose Quintana (10-9, 4.46) will attempt to regain his form when he takes the mound for the series finale against the Pirates on Sunday. In his past four starts, Quintana has allowed at least five runs three times, including in each of his past two appearances.
Pirates: RHP Jameson Taillon (9-9, 3.66) will bring momentum from his recent starts when he faces the Cubs on Sunday. He has allowed three earned runs or fewer in 14 straight starts since surrendering six on eight hits in a 7-2 loss to the Cincinnati Reds on May 22.
More AP baseball: https://apnews.com/tag/MLBbaseball
More AP baseball: https://apnews.com/tag/MLBbaseball
Yangervis Solarte signs minor league contract with Giants
Switch-hitting, versatile infielder Yangervis Solarte has reached agreement on a minor league contract with the San Francisco Giants.
Tigers beat Michael Fulmer in final arbitration case; players win 6-4
Though pitcher Michael Fulmer lost his salary arbitration case against the Tigers and will make $2.8 million in 2019, players finished hearings with a 6-4 advantage in decisions.
Yankees, pitcher Luis Severino agree on multiyear deal
The Yankees and starting pitcher Luis Severino have agreed on a four-year deal with a fifth-year option that could max out at $52.25 million, sources told ESPN.
Red Sox 2B Dustin Pedroia 'wouldn't have' had knee surgery after 2017 season
Red Sox 2B Dustin Pedroia says if he had to do it all over again, he wouldn't have had the knee surgery after the 2017 season that sidelined him for all but three games in 2018.
The Bryce, Manny stalemate and the latest on MLB free agency
Three and a half months after the pursuit started, here's where things stand with Harper, Machado and their suitors. Plus, updates on Craig Kimbrel, Nolan Arenado and other stars seeking paydays.
The next Aaron Nola? These stars could look to cash in now
The way free agency is going, the rush to sign early-bird contract extensions could become the norm. But at what cost?