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 the Milwaukee Brewers on Monday night.

Given a vote of confidence by manager Terry Collins before the game, struggling closer 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.

The 41-year-old Batista, replacing injured Mike Pelfrey in the rotation, outpitched Brewers ace Yovani Gallardo (2-4), who matched his career high with six walks in six shaky innings.

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.

Third baseman David Wright made a diving play to stop 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.

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.

Angry that he didn’t get some close calls, Francisco hollered in Tichenor’s face, waving his finger and then his cap at the ump as Collins stepped between the two. The big right-hander finally headed to the dugout and Collins said after the game he’d wait until Monday to address whether a closer change was coming.

But on Monday, Collins said he was sticking with Francisco — for now. The manager said the Mets noticed evidence of Francisco tipping pitches and made a couple of suggestions they hope will help.

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.

Attendance was only 20,061, however, as New York began a 21-game stretch that includes 15 home games.

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 advanced aggressively to third on Ike Davis’ flyout to medium center. Murphy held at third as Ronny Cedeno faked a bunt on the first pitch, then broke for home on the next delivery from Gallardo. Cedeno dropped a perfect bunt toward first and Milwaukee’s only play was to first as Murphy scored easily.