CLEVELAND -- Jeanmar Gomez had faith in his fastball and slider -- along with complete confidence in Cleveland's defense.
"Another well-pitched game by both sides," Indians manager Manny Acta said.
Miami put two runners on base in an inning only once against Gomez (3-2), who struck out four over 6 1/3 innings. Cabrera connected off Anibal Sanchez (2-2) to put Cleveland ahead in the fourth inning.
Three relievers finished off the Indians' third shutout of the season. Chris Perez struck out the side on 10 pitches in the ninth for his 13th save in 14 chances. All three Marlins looked at strike three.
|More on Marlins-Indians|
|More MLB coverage|
"We were looking for a walk to make sure the tying run got to the plate," Marlins manager Ozzie Guillen said with a laugh.
Perez was just as pithy.
"I'm tired of getting booed at home, so I figured I'd throw strikes today," said the right-hander, who blew a save in the season opener and entered with a 6.48 ERA at Progressive Field. He has not yielded a run in eight road outings.
Miami dropped to 13-5 in May, while Cleveland earned its fifth win in six games as Gomez's performance extended a string of strong outings by the Indians' rotation. Cleveland starters have worked six or more innings in 20 of the last 23 games, logging more innings than any other starting staff since April 27.
Gomez walked two and was in trouble only once, when Miami had runners on first and third with two outs in the third. He got Hanley Ramirez to fly out to right to end the threat.
"He made good pitches when had to, had very good life on his two-seam fastball and a swing-and-miss slider," Acta said.
The 24-year-old right-hander also got immediate help from Kotchman, who made a diving stop of a hard-hit ball by Jose Reyes leading off the game, then finished the first inning with another sprawling catch of a shot off the bat of Greg Dobbs.
"Casey's defense was the key," Acta said. "If Reyes gets on it is a double, or a single and he steals and creates havoc on the bases."
Gomez has made two straight strong starts after being tagged for a season-high eight runs in 6 2/3 innings by the Chicago White Sox on May 9. He gave up one unearned run and three hits in a no-decision Monday against Minnesota before shutting down the Marlins in his first career interleague appearance.
"Casey was great over there on defense," Gomez said. "I was working down and away to get ground balls and the defense made the plays."
Joe Smith replaced Gomez with a runner on first and one out in the seventh and got Gaby Sanchez to ground into a double play. Vinnie Pestano pitched a perfect eighth, striking out one.
"The bullpen just took over," Acta said. "Pestano and Perez threw as well as I've seen them."
Perez said he was especially happy to save a win for Gomez, who saw relievers turn a 4-1 lead into a tie game before Cleveland rallied to beat the Twins 5-4 five days ago.
"We blew his last start and we don't forget that in the bullpen," Perez said.
Sanchez lost his second straight start as the Marlins were shut out for the fifth time. The right-hander yielded seven hits and two runs over eight innings and continued to be plagued by a lack of offensive support. The Marlins have scored only 14 runs while Sanchez has been on the mound, an average of 1.75 in his eight starts.
"He might not talk to his teammates," Guillen joked.
Sanchez wasn't bitter, however.
"I never have complained about it," Sanchez said. "I need to keep working keep the score close. I know (my teammates) want to do everything they can. That's baseball."
Cabrera broke a scoreless duel by hitting his fifth homer on an 0-2 pitch to lead off the fourth.
Cleveland made it 2-0 in the fifth when Shelley Duncan reached on an infield single and eventually scored on a sacrifice fly by Jason Kipnis.
Marlins OF Emilio Bonifacio's consecutive game streak was broken at 112. He sat out with a sprained left thumb, sustained Friday night. ... Indians GM Chris Antonetti believes Cleveland has yet to play its best despite leading the AL Central. He cited injuries to LHP Rafael Perez, RHP Josh Tomlin and OF Grady Sizemore, ace RHP Ubaldo Jimenez's inconsistent pitching and slow starts at the plate by 1B Casey Kotchman (.211) and OFs Johnny Damon (.167) and Shelley Duncan (.202) among areas that could clear up and give the team a boost. ... Retired Indians bench coach Tim Tolman is back in that capacity for two games, filling in for Sandy Alomar Jr., who is attending daughter Leanna's graduation from San Diego State. ... Pestano has at least one strikeout in 21 straight appearances, tying Paul Shuey's team record for relievers set Aug. 20, 1999, to April 10, 2000.