CHICAGO — Madison Bumgarner facing Jake Arrieta had an October feel to it, and the Giants performed like they belong in the postseason.
Bumgarner outpitched Arrieta with 10 strikeouts over six innings, and San Francisco pounced on rare miscues by the Cubs in a 3-2 victory Saturday.
San Francisco, trying to catch the Dodgers in the National League West, rebounded from one-run losses in the first two games of the four-game set against the major-league leaders.
"We're going up against a team that, I don't think they've clinched yet, but they're going to be there," Bumgarner said. "And we're planning on being there. So it's a playoff-type of matchup."
The Giants had a majors-best 57-33 record at the All-Star break. But they are 16-29 since, leaving them looking up at the Dodgers and clinging to the top spot in the wild-card race.
"It was one we definitely wanted and needed," catcher Buster Posey said. "It was good to score some runs off Arrieta and then for our bullpen to hold the lead."
Chicago, which had won five in a row, was undone by mental and physical errors.
"A little bad luck, a little missed execution," Arrieta said.
The Cubs had one last chance when pinch-hitter Anthony Rizzo led off the ninth with a walk against Will Smith. Rizzo advanced on a sacrifice by Dexter Fowler, but the first baseman was caught off second on the play.
"That's huge," Giants manager Bruce Bochy said. "Heart of the order up, man on second, it's a different game."
The Cubs were shockingly sloppy. Third baseman Tommy La Stella's two-out throwing error in the first made it 1-0. The Giants scored in the fourth with the help of a passed ball and added a run in the sixth on Arrieta's second wild pitch.
ORIOLES 2, YANKEES 0: Kevin Gausman outpitched CC Sabathia for the second time in seven days, Adam Jones homered and host Baltimore shut out New York for the third straight time. The third-place Orioles moved within two games of the American League East-leading Blue Jays.
INDIANS 8, MARLINS 3: Trevor Bauer overcame a shaky first inning and pitched into the ninth, and Francisco Lindor was 4-for-4 as host Cleveland won its fifth straight. Miami ace and former Alonso standout Jose Fernandez gave up a career-high 12 hits.
ROYALS 5, TIGERS 2: Eric Hosmer hit his career-high 20th homer, Yordano Ventura pitched into and out of trouble, and host Kansas City snapped a three-game losing streak.
RANGERS 12, ASTROS 4: Adrian Beltre and Nomar Mazara homered, Derek Holland pitched his third straight quality start since coming off the disabled list and host Texas won its seventh straight.
METS 3, NATIONALS 1: Curtis Granderson and former Ray James Loney came through with big hits to back rookie Robert Gsellman as host New York rebounded from consecutive losses and won for the 10th time in 14 games, moving within one game of the Cardinals for the final NL wild card.
REDS 9, CARDINALS 1: Zack Cozart hit two doubles during run-scoring innings that included St. Louis misplays, and host Cincinnati sent the Cardinals to their third straight loss. St. Louis has lost seven of 11.
Around the league
TEBOW UPDATE: The Braves are considering offering former Gators quarterback Tim Tebow a minor-league deal, ESPN reported. Tebow announced last month that he is interested in returning to baseball, a sport he hasn't played since he was a high school junior in 2005.
METS: Right-hander Zack Wheeler, who has had several setbacks in his recovery from Tommy John surgery, will not return this season.
NATIONALS: Right-hander Max Scherzer's next start was pushed back a day to Monday to give him extra rest.
REDS: First baseman Joey Votto used a song from the movie Willy Wonka and the Chocolate Factory as his walkup music for his first at-bat. Gene Wilder, who played the part of Wonka, died Monday.
YANKEES: Rookie right-hander Chad Green has a sprained throwing elbow and is likely done for the season. Green said he doesn't think he will need surgery.