MIAMI -- A year ago, April was Joe Saunders' worst month. It's a safe bet that won't be the case this season.
Saunders (2-1) struck out four and walked two, getting the third shutout of his career and dropping his ERA from 1.29 to 0.90. Emilio Bonifacio narrowly beat out an infield single with two out in the ninth before Saunders struck out Donnie Murphy to close the win.
"I was making good pitches and I was just fortunate they were hitting it at my defense," Saunders said. "My defense was awesome. It was a great night all-around."
The Marlins have scored six runs and managed only 28 hits during their losing streak.
"A combination of a good pitcher on the mound and a really bad hitting team right now," Marlins manager Ozzie Guillen said. "I think that's what happened. Seems like we're not having fun."
On a day where Miami team president David Samson ran the equivalent of two marathons -- 52.4 miles -- the Marlins failed to get a runner past first base.
"I guarantee they will score before I run another marathon," Samson said after his daylong run that raised $550,000 for charity. "We're obviously struggling, but it's a long season."
Marlins shortstop Jose Reyes was given the night off by Guillen after batting .205 in Miami's first 18 games. Another lineup shakeup might be coming, and Guillen told his team in a quick postgame meeting to forget how everyone is slumping at the plate.
"Get that feeling out and get ready to play," Guillen said.
Miami starter Carlos Zambrano (0-2) pitched six innings, giving up three runs and 10 hits. The Diamondbacks had 15 hits, leaving 12 runners on base.
Saunders got into trouble only once, that coming not because of the Marlins getting hits off him -- but actually hitting him.
A comebacker by Hanley Ramirez bounced off Saunders in the fourth inning. He managed to scurry for the ball and threw over to first to beat Ramirez, then limped into the Arizona dugout while grimacing in obvious pain.
But in the fifth, Saunders came back out to the mound, showing no ill effects. And his offense was giving him all the support he needed.
"You always want to get off to a good start especially on an 11-day, 10-game road trip like we're on now," Saunders said. "You always want to go out there and get the road trip off on a good start and hopefully save the bullpen."
In April 2011, Saunders went 0-3 with a 5.93 ERA, as teams hit .333 against him in 27 1/3 innings. So far this season, opponents are batting .186 off Saunders.
"He's been great, very consistent," Arizona manager Kirk Gibson said. "He's taken the ball every fifth day and is really dominant with his stuff."
The Diamondbacks had only five instances of someone having a three-hit effort in their first 19 games. They had both Kubel and Hill get there in the first six innings on Friday, as Zambrano flirted with big trouble for much of his night.
He allowed the last three batters he faced in the first inning to reach, getting out of it only when Kubel was caught in a rundown between second and third for the third out after Montero's single drove Justin Upton home. Hill led off the second inning with a single, followed by walks to Lyle Overbay and Ryan Roberts.
Saunders followed with a sacrifice fly to right, making it 2-0 -- the sixth RBI of the pitcher's career.
Zambrano gave up three more singles in the third, all of them comebackers, only to escape unscathed. Montero grounded into a 5-4-3 double play, and Roberts flied out three batters later to end the threat. That appeared to settle Zambrano down, until Hill sent a 1-2 pitch over the left-field wall to start the sixth.
The Marlins fell to 7-12, the third-worst start in the National League.
"There's nothing you can do about it. Just come tomorrow and play," Zambrano said. "The good thing about this is tomorrow's another day. It's not like this team isn't capable of doing a lot of things. Just a bad start."
It was Kubel's sixth four-hit game. He last did it on consecutive days for Minnesota on April 17-18, 2009, and was intentionally walked in the ninth. ... Arizona RHP Ian Kennedy (3-0, 3.86 ERA) will look for his 10th straight win Saturday against Miami RHP Anibal Sanchez (1-0, 2.79 ERA). Sanchez no-hit Arizona in 2006. ... Zambrano needed 46 pitches to get through two innings -- as many as Miami closer Heath Bell threw in the ninth inning of the Marlins' loss at the New York Mets on Thursday. Bell wasn't going to be available Friday, Guillen said.