CHICAGO -- Jason Heyward and Kris Bryant rescued the Chicago Cubs with a clutch swing and some nifty baserunning.
Heyward hit a tiebreaking RBI single with two out in the eighth inning, and the Cubs edged the Pittsburgh Pirates 4-3 on Friday in their first game after the All-Star break.
Bryant set up Heyward's winning hit with a one-out walk off Kyle Crick (3-5). The All-Star slugger advanced on Victor Caratini's two-out walk, took a smart lead and hustled home from second on Heyward's crisp opposite-field liner to left, sliding home just ahead of the tag attempt by catcher Elias Díaz.
"KB, I've talked about it before, he's a real good baserunner," manager Joe Maddon said. "If you take a secondary lead, you're a great teammate. It was one of those weird, close-cut games all day, but give our guys credit."
NL Central-leading Chicago blew a late 3-0 lead before earning its third win in four games in the opener of an important nine-game homestand.
Yu Darvish struck out eight while pitching six sparkling innings in one of his best starts since signing with the Cubs before last season. The right-hander said he has felt better in a Cubs uniform, but "the result was better today."
Bryant snapped a scoreless tie when he led off the seventh with his 18th homer, a drive to left off Chris Archer after Melky Cabrera had trouble tracking his foul fly to right in the afternoon sun.
Robel Garcia added a sacrifice fly off Michael Feliz and pinch hitter David Bote made it 3-0 when he walked with the bases loaded. But the Cubs wasted a chance for more when Kyle Schwarber grounded into an inning-ending double play.
The Pirates then tied it in the top half of the eighth. With two out and runners on first and second, Starling Marte hit a long drive onto Waveland Avenue against setup man Pedro Strop. It was Marte's first homer since June 27 and No. 13 on the year.
"We could have folded when Marte hit the three-run homer," Bryant said. "It kind of took the wind out of our sails, but I was very pleased to see us come together and score right away.
"We're going to need a lot of that in the second half because there are going to be times when that happens and we're going to have to respond accordingly."
Randy Rosario (1-0) the fourth of five Cubs relievers, got the last out of the eighth for the win. Craig Kimbrel pitched a perfect ninth for his third save in four chances.
Darvish retired his first 13 batters. He allowed two hits and walked one, but remained winless in 13 appearances at Wrigley Field since joining the Cubs.
Archer struck out a season-high 10 in six-plus innings. He was charged with three runs and three hits.
"I felt good, but there's a lot of good things to take away as a team," Archer said. "I have a sour taste in my mouth because I at least wanted to get a couple outs in the seventh inning.
"But I think the best part about the game was we showed the same fight we did in the first half."
BETTER AT HOME
Darvish entered Friday's game 0-5 with a 6.03 ERA in 12 previous starts as a Cub at Wrigley.
Pirates: Manager Clint Hurdle said C Francisco Cervelli is working out at multiple positions as he tries to return from a concussion that has sidelined him since May 25. "It's his call," Hurdle said. "I'm in complete support of what Francisco wants for Francisco and how he wants it moving forward." ... Hurdle added there's no timetable for OF Gregory Polanco (left shoulder inflammation) to return from a rehab assignment at Triple-A Indianapolis. Polanco has been out since June 16.
Cubs: LHP Cole Hamels, sidelined since June 28 with a strained left oblique, was scheduled to throw off flat ground on Friday. Maddon said the next steps would be determined on Saturday, but there's no timetable for Hamels' return.
Pirates left-hander Jordan Lyles (5-5, 4.36 ERA) faces Cubs lefty Jon Lester (8-6, 3.72 ERA) on Saturday. In seven starts since June 3, Lester is 5-2. This will be Lyles' third start after a stint on the injured list with left hamstring tightness and follows a July 4 outing against the Cubs at Pittsburgh when he yielded seven runs in four innings. In that one, Maddon stormed onto the field and was ejected after Lyles buzzed All-Star Javier Báez.