Gallardo (3-2) left after eight innings, the lone blemish Daniel Descalso’s solid single up the middle on a 1-1 count. The Brewers’ opening day starter entered the game with 53 hits allowed, tops in the major leagues, and ended a string of five poor outings in which he was 1-2 with an 8.89 ERA.

John Axford worked a perfect ninth for the Brewers, who were outscored 37-7 and shut out three times during a seven-game losing streak.

The Cardinals’ Jaime Garcia carried a perfect game into the eighth Friday and threw a one-hitter in a 6-0 victory over Milwaukee.

St. Louis’ Kyle Lohse (4-2) allowed a run and six hits in eight innings.

Cubs 3 Reds 2: In Chicago, Kosuke Fukudome hit a game-ending single as Chicago scored twice in the ninth inning.

Carlos Pena led off the ninth with a homer to tie it. Blake DeWitt also homered for the Cubs, who have won three of four.

An out after Pena’s homer, DeWitt singled up the middle. He advanced to third on Jeff Baker’s ground-rule double to center field. Fukudome won it with a two-out single up the middle.

Phillies 3 Braves 0: In Philadelphia, fill-in starter Kyle Kendrick and four relievers combined on a five-hitter and Ryan Howard homered for Philadelphia.

Kendrick (2-2) allowed two hits, walked one and struck out three in five innings. He replaced Roy Oswalt , who went on the disabled list Friday with lower back inflammation.

Julio Teheran (0-1) gave up three runs and four hits in 4 2-3 innings in his major league debut.

Pirates 6 Astros 1: In Pittsburgh, Charlie Morton took a shutout into the eighth inning and Lyle Overbay homered as Pittsburgh won for the fourth time in six games.

Morton (4-1) worked 7 2-3 innings while allowing seven hits and one run to win consecutive starts for the first time in his career. Morton has already doubled his win total from last season, when he went 2-12 in 17 starts.

Overbay hit his second home run of the season in the second inning, when Pittsburgh scored all it needed off Bud Norris . Andrew McCutchen added a two-run double later in the inning.

Nationals 5 Marlins 2: In Miami, Tom Gorzelanny pitched seven innings and two relievers completed a two-hitter for Washington.

Gorzelanny (2-2) gave up a two-run homer to John Buck — the only runs allowed by the left-hander in his past 18 1-3 innings. Sean Burnett pitched a perfect eighth, and Drew Storen followed with a 1-2-3 ninth for his seventh save in as many chances.

Storen has pitched 16 consecutive scoreless innings. The Nationals bullpen has allowed one run in 24 innings over the past 10 games for an ERA of 0.38.

Roger Bernadina , recalled by Washington before the game from Triple-A Syracuse, had two hits and scored a run. Ian Desmond singled, tripled, scored twice and drove in a run.

Mets 4 Dodgers 2: In New York, pinch-hitter Justin Turner’s single snapped an eighth-inning tie and New York stopped Andre Ethier’s hitting streak at 30 games.

Emergency starter Dillon Gee pitched effectively into the sixth and Jason Pridie had a career-high three hits.

New York has won three straight since losing five of six.

Ethier went 0 for 4 with a first-inning walk.

Jason Bay started the eighth with a walk against Mike MacDougal (0-1) before Hong-Chih Kuo came in and retired Ike Davis on a popup. Pridie dropped down a sacrifice bunt, but Kuo threw the ball over the head of first baseman James Loney for an error that left runners at first and second.

Diamondbacks 6 Padres 0: In San Diego, Justin Upton hit a two-run homer and Daniel Hudson won his third straight start for Arizona.

The Padres have been shut out a major league-high eight times in 33 games. They dropped to 6-14 at home, worst in the majors.

Hudson (3-4) allowed five hits in seven innings while striking out six and walking none.

Ryan Roberts had three singles and scored three runs for Arizona. Stephen Drew had a single, an RBI and a run scored before leaving with tightness in his right groin.

Giants 3 Rockies 2: In San Francisco, Mike Fontenot hit a sacrifice fly in the ninth inning to drive in Aaron Rowand for San Francisco’s second walkoff win in two nights.

Rowand and Freddy Sanchez hit consecutive singles off reliever Felipe Paulino (0-3) to begin the rally. After a pitching change, Franklin Morales threw a wild pitch that sailed over the head of catcher Chris Iannetta and advanced both runners. Fontenot then hit a deep fly to right to easily score Rowand.