CHICAGO -- The Cubs found their late-inning mojo.

In the decisive four-run eighth inning, Javier Baez hit a game-tying RBI single, Benjamin Zobrist delivered a clutch two-run double and Anthony Rizzo drove in the go-ahead run on a groundout to spark the Cubs to an 8-7 comeback victory over the Reds on Saturday at Wrigley Field.

"I love the fight," Cubs manager Joe Maddon said.

With the Cubs trailing 7-4 in the eighth, Reds reliever Amir Garrett walked Victor Caratini and Addison Russell before serving up a single to David Bote to load the bases. Garrett was lifted for Jared Hughes, whom Zobrist greeted with his double. One out later, Baez hit a comebacker to Hughes, who fell trying to pick up the ball.

"I just didn't make the play to Baez," Hughes said. "It was right there in my glove. I made an error."

Bote scored on Baez's infield hit to tie the game at 7. Rizzo then grounded out to second, driving in Zobrist with the go-ahead run.

It was the Cubs' 27th come-from-behind win this season. Chicago has rallied in each of its last eight victories, the longest streak by a Cubs team since May 27-June 3, 2008.

"That's what we do," Baez said. "That's what we do, we fight to the end. We've been coming back since 2016, we've been doing this. We just have to realize who we have in our lineup. It doesn't matter how many runs we're down. I think we can do a lot of damage if we turn the page to the next guy."

Baez always seems to be in the middle of such rallies.

"You have to have your head on a swivel, knowing where he is all the time," Maddon said. "His at-bats have exponentially gotten better. Even with the dribbler [to Hughes], at least he made contact."

The crowd of 41,538 was chanting "Ja-vy, Ja-vy" during his at-bat in the eighth. He delivered, even if the ball only went 52 feet.

"It pumps me, but at the same time, I have to stay focused," Baez said. "Knowing the situation is key for me. I thought [Hughes] was going to throw me a first-pitch fastball there. I had the right approach to make contact. When you make contact, good things happen."

Added Reds interim manager Jim Riggleman: "Baez is on fire. It seems like if he's not getting a hit, he's putting the ball on the barrel anyway, somewhere, and hitting balls very hard throughout the series."

The Cubs have scored 166 runs in the seventh inning or later in games.

Baez had led off the seventh with a home run. One year ago, he recorded 10 homers and 33 RBIs in the first half; he now has 17 and 63 this season and will find out Sunday if he was named to the NL All-Star team.

"I'm sure every player wants to be in the All-Star Game," Baez said. "That's one of my goals. We'll see what happens."

MOMENTS THAT MATTERED

Kyle Schwarber singled to open the Cubs' fourth and scored on Caratini's double. Caratini, promoted from Triple-A Iowa on Wednesday, reached third on an error by shortstop Jose Peraza and then scored on Russell's groundout to cut the deficit to 5-2.

Caratini was starting in place of catcher Willson Contreras , who Maddon says will likely not start more than three days in a row.

WALK ON THE WILD SIDE

The Reds lead the Majors in walks. So does Chicago starter Tyler Chatwood . The right-hander issued four free passes and two run-scoring wild pitches over 5 2/3 innings to raise his Major League-leading walks total to 70. He was lifted after throwing a career-high 120 pitches and, unfortunately, greeted by boos from the Wrigley Field crowd.

"You never want to hear that," Maddon said. "I understand when the fans get frustrated. When you're sitting in the dugout and know the guy as well as you do, it's frustrating to us. He'll tell you he probably thought he might have deserved it. Heck, I've gotten booed taking pitchers out of games, I've gotten booed walking out to take a pitcher out of a game. I think it means somebody cares."

Added Chatwood: "We're winning games, so you can't be too frustrated. Selfishly, if you wanted to, yeah, [I'm] very frustrated. We're winning games, and that's all that matters now. … I can't control what [the fans] do. If I pitch good, they'll probably cheer. I guess pitch better."

SOUND SMART

The Cubs (50-36) have reached 50 wins prior to the All-Star break for the seventh time in franchise history.

YOU GOTTA SEE THIS

Randy Rosario has become a force in the Cubs' bullpen. Maybe he needs more at-bats. In the sixth, Russell blooped a double to right that dropped between Scott Schebler and second baseman Scooter Gennett. In his second career plate appearance, Rosario singled to center to score Russell. It was his first Major League hit and RBI. In his only other plate appearance, Rosario walked.

INJURY UPDATE

Cubs outfielder Jason Heyward fouled a ball off his groin area during his at-bat in the third inning and exited the game after grounding out. More >

HE SAID IT

"How could you not have him on the All-Star team? How could you not want him on the All-Star team? That's what we're attempting to showcase Major League Baseball-wise to draw young fans into the game are players like Javy. He has mass appeal. People want to see Javy at this game. They see him in the World Baseball Classic and he's very popular there. I have to believe, I want to believe, he'll get on that team somehow. You can look at numbers all you want, but that's what people want to see, they want to see Baez play baseball." -- Maddon on Baez

UP NEXT

Jonathan Lester will start the series finale against the Reds. Lester won his seventh in a row in his last outing against the Twins after giving up two earned runs over five-plus innings. He also contributed at the plate, hitting a three-run homer to highlight an eight-run second inning. He's 5-1 with a 1.49 ERA in eight home starts. The Reds will counter with Luis Castillo . First pitch is scheduled for 1:20 p.m. CT from Wrigley Field.