CHICAGO: Chris Johnson went 3 for 4 with a home run, and Atlanta beat Chicago 9-5 on Friday to reduce its magic number to clinch the NL East to one.

The Braves broke open a tie game in the top of the ninth with four runs — all with two outs. Brian McCann and Johnson had RBI singles, and Andrelton Simmons followed with a two-run double.

Freddie Freeman earlier hit a three-run homer for Atlanta.

David Carpenter (4-1) pitched a scoreless eighth to get the win. Kevin Gregg (2-5) took the loss for the Cubs, who wasted three home runs.

Cardinals 7 Brewers 6, 10 innings: In Milwaukee, Carlos Beltran’s 10th-inning sacrifice fly kept St. Louis in sole possession of first place in the NL Central.

The Cardinals hold a two-game lead over Cincinnati and Pittsburgh. The Reds downed the Pirates 6-5 in 10 innings to move into a tie for second place.

Former Brewers closer John Axford (7-7 ) picked up the win, while Carlos Martinez got his first save of the year for the Cardinals.

Beltran’s fly ball to deep right field off Michael Blazek (0-1) scored Kolten Wong, who led off the 10th with a walk.

Reds 6 Pirates 5, 10 innings: In Pittsburgh, Joey Votto homered off Kyle Farnsworth in the 10th inning for Cincinnati, which got three unearned runs in the ninth to tie the game and pulled even with Pittsburgh for the top wild-card spot in the National League.

Cincinnati pushed across the three runs off closer Mark Melancon to tie it and Votto won it an inning later with his 24th homer.

JJ Hoover (5-5) earned the win for the Reds, who have won four straight. Aroldis Chapman worked the 10th for his 38th save.

Farnsworth (1-1) retired Brandon Phillips to start the 10th but left fielder Starling Marte couldn’t quite grab Votto’s shot down the line.

Francisco Liriano overwhelmed the Reds, allowing two runs and three hits, walking three and striking out seven.

Nationals 8 Marlins 0: In Washington, Jordan Zimmermann pitched a two-hitter and picked up his NL-leading 19th win for barely-still-alive Washington.

Zimmermann (19-8) took a no-hitter into the sixth inning, struck out nine and faced only three batters above the minimum. He passed the 200-inning mark for the season and lowered his ERA to 3.18 for the Nationals, who have essentially hit must-win mode in their late push for the playoffs.

The Nationals trail Cincinnati and Pittsburgh by five games with nine to play for the NL’s second wild card berth.

Zimmermann had a one-hitter this season, on April 26 in a 1-0 win over the Reds.

Mets 6 Phillies 4: In Philadelphia, David Wright homered in his return to New York’s lineup, Daniel Murphy had three hits and Daisuke Matsuzaka earned his second straight victory.

Eric Young Jr. singled, doubled and drove in a run for the Mets, who have won four of seven.

Darin Ruf doubled and drove in two runs for Philadelphia, which has lost four of seven.

LaTroy Hawkins pitched a scoreless ninth for his 11th save in 14 opportunities.

The Mets jumped on Cole Hamels (8-14) for three runs in the first.

The homer moved Wright past Mike Piazza into second on the club’s career list with 221 homers. Darryl Strawberry is No. 1 with 252.

Matsuzaka (2-3) pitched six innings, allowing four runs and four hits with six strikeouts and three walks.

Rockies 9 Diamondbacks 4: In Denver, Colorado’s Jhoulys Chacin tossed six shaky innings and helped himself with his first career home run.

Troy Tulowitzki, Charlie Blackmon and Corey Dickerson also went deep for the Rockies.

Paul Goldschmidt hit his NL-leading 35th homer and drove in two runs and A.J. Pollock homered for Arizona.

The Diamondbacks were playing a day after the Los Angeles Dodgers clinched the NL West in Phoenix.

Padres 2 Dodgers 1: San Diego, Robbie Erlin allowed four hits over 7 2-3 innings and fellow rookie Jedd Gyorko hit his 20th homer to lead San Diego.

The Dodgers, fresh from clinching the NL West title on Thursday at Arizona, let their backups get the playing time. No Dodgers regulars were in the starting lineup after they secured their 12th NL West championship since divisional play started in 1969.

Erlin (3-3) matched his career-high with seven strikeouts as only three Dodgers reached second base against him.

Gyorko homered in the fifth inning, becoming the fifth rookie second baseman ever to reach that milestone.

Interleague

Yankees 5 Giants 1: In New York, Alex Rodriguez set a major league record with his 24th career grand slam, passing Lou Gehrig with a tiebreaking shot in the seventh inning that sent New York Yankees to victory over San Francisco.

Rodriguez’s slam helped CC Sabathia (14-13) beat Tim Lincecum in a matchup of former Cy Young Award-winners having subpar seasons.

More importantly for the Yankees, it led them to their second win in seven games as they cling to faint playoff hopes. New York began the day 3 1/2 games behind Tampa Bay and Texas for the second AL wild card, with three other teams in between.