Lester (13-5) allowed five hits, struck out eight and had no walks while improving to 3-1 against the Pirates this season. His previous victory came July 15 at San Diego and he had gone 0-3 with a 10.32 ERA in five starts since the All-Star break.
"This isn't going to be like we figured out everything and I'm going to throw six scoreless (innings) every time I step out there," Lester said. "It's a step in the right direction, though." Maddon was glad to have his ace find his form.
"He's a world-class kind of athlete and they want to be that way all the time," Maddon said. "When you get away from it, it's disturbing and you're always looking for answers. I know he'll rest better and this is absolutely a game to build off because he executed well. Everything was there tonight."
Steve Cishek, Carl Edwards Jr. and Pedro Strop each pitched one inning to complete the six-hitter. Strop hit David Freese with a pitch with two outs in the ninth but converted his 10th save in 13 opportunities.
Happ connected with one out in the fourth inning off Ivan Nova (7-7) for his 13th home run, a drive deep into the right-center seats that was the game's only extra-base hit. There was a fair share of cheers while Happ rounded the bases as he is from suburban Mount Lebanon, Pennsylvania.
"It's always good to come here and see my high school coach sitting in the fourth row behind the dugout," Happ said. Chicago (70-50) increased its lead in the NL Central to 3½ games over idle Milwaukee while moving a season-high 20 games over .500. Pittsburgh (61-61) lost its fourth straight to fall to .500.
Nova took his first loss since July 3 despite giving up only one run in 6 2/3 innings. The Pirates had won five of his six previous starts and he was 3-0 in that span. "Every time you lose a game, it's tough," Nova said. "But having a game like this and the position we are in, we need to win, we need to get Ws, especially against a team that's ahead of us."
The Pirates' best scoring opportunity came in the fifth inning when Josh Harrison and Adeiny Hechavarria hit consecutive two-out singles. Lester then struck out Nova, an .044 career hitter. The Cubs had runners in scoring position in the third and seventh innings but failed to convert.
Chicago's Jason Heyward had two hits. TRAINER'S ROOM Cubs: RHP Yu Darvish (right triceps tendinitis/right shoulder impingement) will begin a rehab assignment Sunday with a minor league team to be determined. Signed to a $126-million, six-year contract as a free agent in February, Darvish last pitched for the Cubs on May 20 and is 1-3 with a 4.95 ERA in eight starts.
Pirates: SS Jordy Mercer (strained left calf) was placed on the 10-day disabled list after being injured Wednesday during a loss at Minnesota. Hechavarria started in his place and went 2 for 2. ... RHP Nick Burdi (Tommy John elbow surgery) had his rehab transferred to Triple-A Indianapolis from Double-A Altoona on Tuesday and allowed two runs in two-thirds of an inning against Scranton/Wilkes-Barre.
HELLO, NEWMAN Shortstop Kevin Newman, the Pirates' first-round draft pick in 2015, made his major league debut when he entered on defense in the ninth inning after Hechavarria was removed for a pinch-hitter.
The Pirates purchased Newman's contract from Indianapolis before the game and recalled OF Jordan Luplow from the same club while catcher Jacob Stallings was optioned there. Right-hander Casey Sadler was designated for assignment to open a 40-man roster spot for Newman.
UP NEXT Cubs: LHP Cole Hamels (7-9, 4.22 ERA) makes his fourth start Friday night since being acquired from Texas in a trade. He is 2-0 with a 1.00 ERA for the Cubs. Pirates: RHP Trevor Williams (10-8, 3.66) has been the starter in seven of Pittsburgh's 13 shutouts this season.
More AP baseball: https://apnews.com/tag/MLBbaseball and https://twitter.com/AP_Sports