Tribe starter Danny Salazar hurled six innings of shutout ball, scattering six hit without a walk while striking out five.
Nick Hagadone, Cody Allen and Joe Smith (6-2) combined for two more scoreless frames, but the game remained in a scoreless deadlock until the ninth.
Asdrubel Cabrera sacrificed to move the runners up and Jason Kubel was intentionally walked to load the bases.
Aviles then stepped in and socked a 2-2 pitch over the left-field fence for a grand slam.
Cleveland avoided a three-game sweep with the victory, pulling to within 7 1/2 games of American League Central-leading Detroit.
Tigers starter Justin Verlander hurled seven shutout inning, allowing four hits and two walks while fanning six.