Updated

The Milwaukee Brewers had plenty of opportunities against a 41-year-old starter and a struggling closer. The defending NL Central champs just can't seem to get that big hit right now.

Miguel Batista pitched seven shutout innings of four-hit ball and Daniel Murphy supplied the offense, sending the surprising New York Mets to a 3-1 victory over Milwaukee on Monday night.

Given a vote of confidence by manager Terry Collins before the game, Frank Francisco bounced back from a pair of rough outings to earn his ninth save. Murphy extended his recent tear at the plate by hitting an RBI single and scoring on a suicide squeeze — a play the Brewers failed to execute earlier.

"We get guys in scoring position and we're not taking the at-bats that I know we can," manager Ron Roenicke said. "The big chances were early when we didn't score."

Batista, replacing injured Mike Pelfrey in the rotation, fought through a tight groin and outpitched Brewers ace Yovani Gallardo (2-4), who matched his career high with six walks in six shaky innings.

"It was one of those days where I felt too good," Gallardo said. "I was overthrowing the curveball a little bit. I was trying to do too much with it instead of letting it do the things that it does on its own."

Making his third start of the season, Batista (1-1) struck out five and walked one. He escaped a second-inning jam and retired 10 straight during one stretch.

Milwaukee gave up only three hits but finished 1 for 9 with runners in scoring position.

"We had a chance the first two innings and let him off the hook. He got comfortable and started making pitches," Roenicke said.

Third baseman David Wright made a diving play to prevent the Brewers from getting started in the eighth.

Francisco came on in the ninth with an 8.56 ERA and was booed after giving up Corey Hart's run-scoring single. But with two on and Jon Rauch warming in the bullpen, Francisco threw a called third strike past hitless Brooks Conrad (0 for 15 this season) and retired pinch-hitter George Kottaras on a fly ball to end it.

"He wanted to be in there bad tonight, so I thought I should give him the opportunity," Collins said. "I thought he made some better pitches today. He's still got to get his secondary pitches in the strike zone."

Francisco blew a save Friday night in Miami and had a major meltdown Sunday, when he was pulled by Collins and ejected by plate umpire Todd Tichenor as the Marlins rallied in the ninth.

Collins said after the game he'd wait a day to address whether a closer change was coming. But on Monday, the manager said he was sticking with Francisco — for now.

Wright doubled off former Mets closer Francisco Rodriguez to open the eighth and scored from third when the Brewers botched a rundown, with third baseman Aramis Ramirez dropping the ball for an error as he chased Wright toward the plate.

Milwaukee had won six in a row at Citi Field.

After a 4-2 road trip against division foes that could have been perfect if not for Francisco's flops, the banged-up Mets (20-15) are beginning to open eyes. They have won six of their last seven home games and seven of nine overall.

Gallardo walked two in the first inning and Murphy punched a two-out RBI single through a vacated hole at shortstop to extend his hitting streak to 10 games.

Milwaukee likes to overshift on defense as much as any team in baseball and shortstop Cesar Izturis was shaded toward the middle — a curious alignment against the left-handed hitting Murphy, who often goes the other way.

The Brewers put a runner on third with none out in the second but failed to score. Batista struck out Conrad, and then Milwaukee tried a squeeze play. Taylor Green broke late from third, though, and was an easy putout when catcher Mike Nickeas scooped up Izturis' bunt just in front of the plate.

Gallardo flied out to end the inning and Batista didn't allow another runner until the fifth.

Murphy doubled to start the sixth and scored easily from third on Ronny Cedeno's perfect bunt toward first.

"In that situation, when you get the ball down on the ground, it's tough to get the guy out," Gallardo said.

NOTES: Brewers 2B Rickie Weeks was out of the starting lineup for the third straight game with a sore left wrist after getting hit by a pitch Friday night. Roenicke said Weeks was closer to playing, but Roenicke wanted to give him another day. Weeks grounded out as a pinch-hitter in the eighth. An All-Star starter last season, he is batting .157 and is hitless in his last 18 at-bats. ... OF Carlos Gomez, on the 15-day disabled list with a strained left hamstring, is scheduled to begin a rehab assignment Wednesday with Class-A Wisconsin. ... RHP Zack Greinke (3-1, 3.35 ERA) starts for Milwaukee in the series finale Tuesday night against RHP Dillon Gee (2-2, 4.78). Greinke gave up two hits and struck out 11 in eight scoreless innings Wednesday against Cincinnati. ... Brewers SS Alex Gonzalez is scheduled for surgery Thursday in Milwaukee on his torn ACL.