Jameson Taillon outpitched Cole Hamels, Francisco Cervelli hit a two-run homer in the first inning and the Pittsburgh Pirates made the Chicago Cubs wait at least another day to clinch a postseason spot with a 5-1 victory on Monday night at Wrigley Field.
Hamels (4-2) hit his second career homer but he lost his second straight start after going 4-0 in his first nine following a trade from Texas.
The lefthander gave up three runs — two earned — and five hits in six innings.
The Cubs needed a win plus a loss by Colorado, which beat the Phillies, to assure a franchise-record fourth straight trip to the playoffs, a run that includes a drought-busting World Series championship in 2016.
Closing in on a third straight NL Central title, the Cubs began the night with a two-game lead over second-place Milwaukee, then lost for the third time in five games.
Taillon (14-9) improved to 5-0 in his past seven starts.
Milwaukee 6, St. Louis 4: Eric Thames scored on reliever Bud Norris' throwing error in the eighth inning, helping the Brewers open a three-game lead over the host Cardinals for the wild-card lead and pull within 1½ games of the division-leading Cubs. Ryan Braun homered and Christian Yelich drove in two runs.
Los Angeles 7, Arizona 4: David Freese and Manny Machado drove in two runs each for the visiting Dodgers in support of Clayton Kershaw's ninth victory.
Colorado 10, Philadelphia 1: Jon Gray pitched seven crisp innings and drew a bases-loaded walk as part of a five-run third for the Rockies in Denver. Colorado won its fourth straight game since being swept in Los Angeles by the NL West-leading Dodgers. There was a scary moment in the fourth when Phillies left fielder Aaron Altherr ran into the fence while trying to catch David Dahl's homer. Altherr's face slammed into the padded fence, his hat flying off. Altherr eventually limped to a cart; he sprained his right big toe and bruised a knee.
Washington 7, Miami 3: Anthony Rendon homered and drove four runs and Bryce Harper reached 100 RBI in a season for the first time for the Nationals in a home victory. Washington broke it open with four runs on three pitches in the fourth inning. Harper started the big inning, driving in his 100th run with a sacrifice fly that put Washington ahead 3-1. Rendon and Juan Soto then homered back-to-back on the next two pitches from Sandy Alcantara.
San Diego 5, San Francisco 0: Bryan Mitchell allowed seven hits and came within one out of his first complete game, and Franmil Reyes drove in two runs.
New York 4, Tampa Bay 1: Yankees outfielder Aaron Hicks injured his left hamstring running out a grounder and left the game in the fourth inning of a Yankees victory that eliminated the host Rays from postseason contention and put the Oakland Athletics in the playoffs. Hicks beat the throw to first and foiled a double play, but was replaced by Brett Gardner in the middle of the fourth.
Cleveland 4, Chicago 0: Corey Kluber struck out 11 in seven scoreless innings against the White Sox and reached 20 victories for the first time, after recording 18 wins in three of the four previous seasons. The reigning Cy Young award winner is the first 20-game winner for the Central Division champions since Cliff Lee went 22-3 in 2008, and the first Indians pitcher to win 20 games with 200 or more strikeouts since Gaylord Perry did it in 1974. "It's a cool accomplishment, something to be proud of, but I think it just means I gave us a chance to win a lot," he said. "There's times when they probably picked me up and I got credited with a win. We're all pulling for each other to get to those numbers that mean something."
Houston 5, Toronto 3: Brian McCann and Josh Reddick hit back-to-back home runs, and the visiting Astros moved a step closer to their second straight West title. Dallas Keuchel (12-11) allowed three runs in five innings for his first win since Sept. 3. Houston has the best road record in baseball at 53-22, matching last year's club mark for the most wins away from home in a single season. The Astros also are a major league-best 17-4 in September.