Kris Bryant wasn't going to let a sprained pinkie and a broken bat hold him back.

They certainly didn't slow him down.

Bryant raced home from first base on Anthony Rizzo's bloop double, capping a three-run rally in the eighth inning that sent the Chicago Cubs over the St. Louis Cardinals 3-2 Saturday in the ever-tightening NL Central race.

Bryant also had a tying, broken-bat single during the comeback. The reigning NL MVP hurt his left pinkie on Wednesday and Cubs manager Joe Maddon considered him unlikely to play this game after the injury kept him out of Friday's 11-4 loss to the Cardinals.

"KB being able to play was the difference in today's game," Maddon said. "The combination of the hit and his speed, I don't think anybody else scores on that. Maybe Jason (Heyward), possibly. Happer (Ian Happ), possibly. But KB is such a good baserunner. He had it in his head the moment the ball was hit."

The Cubs began the day one game behind shaky Milwaukee for the division lead, with the Cardinals 3 1/2 back of the Brewers.

A classic pitchers' duel between Jon Lester and Adam Wainwright kept it scoreless into the eighth. 

After Paul DeJong and Randal Grichuk hit two-out homers off Lester for a 2-0 lead, the Cubs came back.

Ben Zobrist's RBI double with two outs made it 2-1 and chased Wainwright. Bryant greeted reliever Matt Bowman (2-4) with a single that tied it.

Brett Cecil then relieved and on a 3-2 pitch, Rizzo hit a looper to shallow left-center. Bryant ran hard the whole way and slid home feet first as catcher Yadier Molina couldn't control center fielder Dexter Fowler's one-hop throw.

Statcast showed Rizzo's hit landed 252 feet from the plate — it was 270 feet from first to home for Bryant.

"Full count, I got a head start, so that was huge," Bryant said. "You've got to give him (Rizzo) a ton of credit. He worked a great at-bat. Something I take pride in is my baserunning and surprising people."

Lester (7-6) had a perfect game until Wainwright singled with two outs in the sixth. Lester gave up three hits and struck out 10 in eight innings.

Wade Davis issued a pair of two-out walks in the ninth before fanning Molina for his 19th saves in 19 chances.

Wainwright allowed two runs on four hits in 7 2/3 innings, retiring 14 straight at one point.

"Some of my best execution," Wainwright said. "My stuff was good, my execution was good and the defense played great behind me, so it was a good recipe. It just didn't work out."

More From KHMO-AM 1070, News-Talk-Sports