Jon Lester felt he wasn't as sharp as usual, though the Cubs and their ace left-hander came through in the clutch.
Lester combined with three relievers on a four-hitter, David Bote hit an early two-run triple and the Cubs beat the Pittsburgh Pirates 3-0 on Thursday night to open a one-game NL Central lead over Milwaukee heading into the final weekend of the season.
A day after the Cubs and Brewers assured themselves of no worse than wild-card berths, Lester (18-6) escaped a bases-loaded jam in the first inning and allowed three hits and four walks over six innings. He improved to 6-1 with a 1.71 ERA in his last eight starts.
"His stuff looked normal from this side, but (Lester was) abnormal command-wise and he got through it," manager Joe Maddon said. "He battled. He showed his mettle tonight."
The 34-year-old Lester said he ground out a "blue collar win" to keep the Cubs in first place.
"Sometimes when you're able to weave your way inside and out of trouble like tonight, these are the more rewarding wins than the ones where you have your good starts and are just able go out there and execute," said Lester, who threw 66 of 108 pitches for strikes.
Steve Cishek, Carl Edwards Jr. and Jesse Chavez followed, with Chavez pitching the ninth for his fourth save in five chances with Chicago.
Chicago (93-66) hosts St. Louis (87-72) in the final series starting Friday, while Milwaukee (92-67) is at home against Detroit. The Cardinals (87-72) trail the Los Angeles Dodgers by one game for the second wild-card berth.
The Cubs' win means the NL Central champion, Chicago or Milwaukee, will finish with the league's best record and will play the winner of Tuesday's wild-card game. East champion Atlanta will play the West champion, Colorado or the Dodgers.
And the Cubs, who didn't celebrate after clinching a fourth straight postseason berth on Wednesday, want the division crown.
"We've made the playoffs and nobody in that clubhouse is satisfied with that," Lester said. "I think we call kind of expect to win the division.
"We feel like that's one of our goals and hopefully that comes to fruition this weekend. We'll celebrate then."
Trevor Williams (14-10) gave up all three runs, eight hits and three walks in five innings. He had been 4-0 in six starts since losing to the Cubs on Aug. 17 and is 7-3 with a 1.38 ERA since the All-Star break.
"I felt like it was a battle from the first pitch," Williams said. "This is their third time seeing me this season, and they can swing the bat.
"It's not going to give me a sour taste in my mouth, but it's going fire me up for this offseason and make me work extra hard to finish next season strong."
Bote started at third base in place of Kris Bryant, who missed his second game with a sore left wrist after getting hit by a pitch by Chris Archer on Tuesday.
Lester singled in the fourth and scored on Daniel Murphy's single.
If the Cubs and Brewers finish tied for first, the Cubs would host an NL Central tiebreaker game Monday because Chicago won the season series 11-8.
The crowd of 38,415 pushed the Cubs season attendance at Wrigley Field over the 3 million mark for the third straight season.
RETURN OF KANG
The Pirates expect INF Jung Ho Kang to join the club Friday and be active for a season-ending series at Cincinnati in what would be his first major league appearance in two years. Kang, who plays third base and shortstop, hit .273 with 36 homers and 120 RBIs in 229 games for the Pirates in 2015 and 2016.
The 31-year-old didn't play in North America between September 2016 and June 2018 because of visa issues connected to three DUI arrests his native South Korea.
Pirates: OF Jordan Luplow underwent an appendectomy Thursday at Northwestern Memorial Hospital in Chicago. The 24-year-old appeared in 37 games this season.
Cubs: Manager Joe Maddon said Bryant could start Friday against St. Louis. Bryant, the 2016 NL MVP, had two stints on the disabled list this season because of left shoulder inflammation.
Pirates: RHP Nick Kingham (5-7, 5.23) starts Friday at Cincinnati against RHP Anthony DeSclafani (7-7, 4.91).
Cubs: RHP Kyle Hendricks (13-11, 3.49) opens the series against the Cardinals vs. RHP Adam Wainwright (2-3, 4.08.) In his last six starts, Hendricks is 4-1 with a 1.37 ERA.