The Indians built an early 4-0 lead but then surrendered it when the Angels pounded out five runs in the top of the fifth, highlighted by Mike Trout's three-run homer and a solo blast by Albert Pujols.
The Tribe rebounded in the next half-inning against Angels starter Dan Haren (6-8).
Shin-Soo Choo led off with a double and, after Jason Kipnis was intentionally walked, scored the tying run when Jose Lopez laced a pitch down the left-field line for a two-bagger, chasing Haren.
Hisanori Takahashi relieved and Kipnis came home with the decisive run on Brantley's fielder's choice. The Cleveland center fielder finished with a pair of RBI as the Indians evened their three-game set against the Angels.
The game was delayed twice by rain in the ninth inning.
Zach McAllister (3-1) claimed the victory despite allowing five runs (three earned) on eight hits in a six-inning performance.
Haren ended up yielding seven runs (six earned) on nine hits over 4 1/3 frames.
Rosie O'Donnell unveils nearly 50-pound weight loss
Putin thinks Obama would save him if he were drowning