Cleveland has won three in a row, one short of its longest streak of the season. Kansas City dropped its fifth straight.
The Indians faced a 5-4 deficit going into the eighth but they quickly got to reliever Joakim Soria (3-2).
Jhonny Peralta reached on a one-out single and Travis Hafner delivered an infield hit. Valbuena then hit a 1-1 pitch out to right for his eighth homer of the season.
After Kansas City got a run back in the bottom of the eighth, Cleveland tacked on three more in the ninth -- two of the runs scoring on a double by Asdrubal Cabrera.
Jeremy Sowers (5-9) got the win thanks to Cleveland's eighth-inning comeback. He allowed five runs on six hits over seven innings.
Copyright 2009 by United Press International.