Garza (10-5) yielded just one hit and one walk while fanning two for the Rays, who have won seven of eight. It was the first time since April 18 that the righty went at least six innings without yielding a run, and he's now one win shy of tying his career-high.
Gabe Kapler drove in two runs for Tampa Bay, which has won two of the first three games in this set.
Jhonny Peralta and Matt LaPorta each singled for the Indians, who have lost four of five. Aaron Laffey (1-3) allowed three runs on seven hits and three walks in 5 2/3 frames to receive the loss for Cleveland.
The Rays used a two-out rally in the fourth to break a scoreless tie.
Laffey retired Willy Aybar and Kelly Shoppach on groundouts to begin the inning, but issued a walk to Ben Zobrist. Sean Rodriguez followed with a ground-rule double, and Kapler singled up the middle to plate both runners for a 2-0 lead.
In the fifth, Laffey again retired the first two Tampa Bay hitters, but Evan Longoria doubled and scored on Aybar's subsequent single for a three-run cushion.
Meanwhile, Garza dominated. After issuing a two-out walk to Shelley Duncan in the second, he finished his outing by setting down the next 13 Cleveland hitters without a problem.
Tampa Bay's Grant Balfour ran into some trouble in the seventh, when Peralta drew a two-out walk and was followed by LaPorta's single. After both runners moved up on a wild pitch, Shelley Duncan struck out to end the threat.
The Indians failed to threaten in the final two innings, and Jason Bartlett's bloop double in the eighth accounted for the final margin.
Tampa Bay leads the season series, 4-1...Indians designated hitter Travis Hafner left the game with tightness in his upper back...Bartlett finished with two hits...With two outs in the ninth, Austin Kearns doubled, which extended the Indians' streak of games with an extra-base hit to 36, the longest active streak in the AL.