Mike Moustakas led off the 14th with a walk from Scott Maine (1-2) and two outs later went to second on a wild pitch.
Abreu then reached down and broke his bat on a pitch but managed to bloop it into center field, scoring Moustakas with the decisive run.
The Indians loaded the bases with none out in the bottom of the frame against Kelvin Herrera, but the Royals closer wriggled out of the jam for his third save.
Vin Mazzaro (4-3) claimed the victory with two scoreless innings as the Royals evened their three-game set.
Jeff Francoeur hit a three-run homer for Kansas City.
Shin-Soo Choo and Asdrubal Cabrera each drove in two runs for Cleveland.