Albert Pujols went 1 for 4 as Los Angeles lost its fifth straight. He is homerless in 20 games since signing a $240 million, 10-year contract to join the Angels - his longest drought to start a season.
Looking to shake things up, the Angels released veteran outfielder Bobby Abreu after the game Friday night. Angels manager Mike Scioscia said touted rookie Mike Trout is being called up from Triple-A Salt Lake.
Cleveland, which had 36 comeback triumphs, including 12 walkoff wins a year ago, rallied against the Angels' battered bullpen.
''Last year, we had a lot of fun with some walkoffs,'' Indians manager Manny Acta said. ''It's nice to be able to go out and do that again.''
Aaron Cunningham opened the ninth against David Carpenter (0-1) by doubling over leaping left fielder Vernon Wells at the wall. Michael Brantley lined out to center before Jason Kipnis singled. Angels shortstop Erick Aybar got a glove on the line drive, slowing the ball down and preventing Cunningham from scoring.
Cabrera hit a 2-0 pitch to right, making the Indians 6-0 in one-run games and the Angels 0-6. Los Angeles relievers are 1 for 7 in save opportunities. It was the sixth time the Angels lost after leading in the seventh inning.
Vinnie Pestano (1-0) struck out the only two batters he faced for the win. The native of southern California was inundated with tweets and text messages from family and friends afterwards.
''Everybody back home was watching it on TV,'' Pestano said. ''It was a high leverage situation and I'm glad I got it done.''
He replaced Justin Masterson after the Indians starter walked Kendrys Morales and Peter Bourjos in the ninth. Pestano fanned Vernon Wells and Aybar to keep it tied at 2.
''He came in and blew it by some people, just what you want to see,'' Masterson said.
Masterson allowed only four hits over 8 1-3 innings, but remained winless since Sept. 18.
''He was outstanding,'' Acta said, noting that Masterson came up big against Pujols with a runner on second in the eighth. He retired Pujols on a foul popup to end the inning after pitching coach Scott Radinsky visited the mound.
''You go after Pujols in that situation,'' Acta said. ''He's (Masterson) our number one and you go after him.''
Right fielder Torii Hunter drove in two runs and threw out a runner trying to score for the Angels.
Pujols lined a two-out single in the first and scored on a single to right by Hunter, who was out trying for second.
Despite the hit, it extended Pujols' homerless drought to a career-worst 109 at-bats. He has not connected since Sept. 22 last year with St. Louis.
Pujols, who on Thursday snapped his career-worst hitless streak at 21 at-bats with a ground single against Tampa Bay, has not homered in 20 games and 80 at-bats in an Angels uniform. He had a 105-at-bat drought April 23 to May 23 last year - then rebounded to help the Cardinals win the World Series.
The big first baseman made a good play in the field to keep the game tied in the eighth. With runners on first and third, he ranged far to his right to field a bouncer off the bat of Casey Kotchman and threw to second for the inning-ending force play.
The Indians have their own power outage. Cleveland hasn't hit a homer in nine games, their longest drought in 21 years. They also went without a homer for nine games in June 1991.
Cleveland got three hits and a walk in the second inning off Angels starter Jered Weaver and failed to score. Brantley singled and was thrown out trying to steal second as Kipnis struck out. Cabrera then singled and Travis Hafner walked. Carlos Santana singled to right, but Cabrera was easily thrown out at the plate by Hunter to end the inning.
In the first, the Indians got two hits and two walks off Weaver and didn't score. Kipnis grounded into a double play and Jack Hannahan struck out with the bases loaded.
Kotchman broke a 0-for-24 skid with a seventh-inning single off reliever Hisanori Takahashi and scored on a double by Brantley. Kevin Jepsen then yielded an RBI single to Kipnis that tied it at 2.
''The big thing is to get a knock when it means something,'' Kotchman said. ''The important thing is we won.''
Weaver went six scoreless innings, allowing seven hits, walking four and striking out eight.
Notes: Indians LHP Rafael Perez could be out three to six weeks with a strained muscle in his left side. Cleveland put Perez on the 15-day DL for the first time in his seven-year career and recalled LHP Nick Hagadone from Triple-A Columbus. ... Angels manager Mike Scioscia replaced RHP Jordan Walden with LHP Scott Downs as closer. ... Santana hit Cleveland's last homer, in the fifth inning April 17 at Seattle. ... Pestano has stranded all six baserunners he has inherited this season and 23 of 29 (79 percent) in his career. ... According to Stats LLC, the Angels have lost 11 straight one run games.