ANAHEIM -- Jeff Mathis did a little bit of everything Tuesday night.

The Angels catcher threw out his first baserunner since June 18, stole just his second base of his career, drove in and scored two runs all while handling five different pitchers.

And, oh by the way, he hit what proved to be the game-winning home run in the fifth inning that broke a 2-2 tie and helped give the Halos a 3-2 win over the Indians at Angel Stadium.

But manager Mike Scioscia, who was a catcher for 13 years in the Majors, was most impressed by the way Mathis handled the pitching staff after starter Jered Weaver excited the game after the third inning because of a knot in his right throwing shoulder.

"[Mathis] called a great game -- which is the most important thing -- but two RBIs didn't hurt, either," Scioscia said.

After Weaver left the game after the third inning, relievers Darren Oliver, Jose Arredondo, Scot Shields and Francisco Rodriguez combined to throw six scoreless innings, giving up just four hits while striking out six batters.

"They threw the ball very well," Scioscia said. "There were some big innings from Oliver and Arredondo. And Shields and Frankie did what they usually do."

But Mathis downplayed the difficulties of having to adjust to catching so many pitchers in one night.

"It's about the same, because I know those guys," Mathis said. "It's not like I hadn't caught them before."

Mathis' seventh home run of the season came on a 2-2 fastball with no outs in the fifth from Indians starter Matt Ginter, who allowed three runs on seven hits over six innings but was pegged with the loss.

"I was just trying to put my foot down and put the ball in play," Mathis said. "He just left a fastball over the plate."

Mathis had his first RBI, on a fielder's choice with runners on first and third, in the second inning. He then stole second base and scored on Reggie Willits' two-out single to center field.

It was the second rare feat of the game for Mathis, who threw out Jamie Carroll attempting to steal second base in the first inning. It broke a streak of 29 consecutive stolen bases for Angels opponents without being thrown out.

"It's been bothering us, but we've been working on it and I made a good throw," Mathis said.

The play likely saved a run, as Casey Blake followed the play with a double but was stranded at second base. The Indians did score on in the inning on Grady Sizemore's sixth leadoff home run of the season.

Cleveland added another run in the second on Franklin Gutierrez's RBI triple with one out, but Gutierrez was stranded at third as Weaver struck out Asdrubal Caberera and Sizemore to end the inning.

"Jeff did a great job with [Weaver] early to get him out of those jams," Scioscia said. "That's the game right there, too."

Weaver allowed two runs on three hits in three innings and broke a streak of four consecutive starts in which he pitched at least five innings while allowing two earned runs or fewer.

"You could tell he didn't have his best stuff, but I didn't really know he was hurt in the third inning," Mathis said. "I could tell he wasn't as sharp."

Oliver pitched 2 2/3 innings, allowing just one hit to pick up his second win in three games. He was relieved by Arredondo, who pitched 1 1/3 innings before giving way to Shields in the eighth and Rodriguez in the ninth.

With two outs in the final frame, Rodriguez got into trouble as he walked Sizemore and allowed him to steal second base. But Rodriguez struck out Ryan Garko on a 3-2 changeup to end the game. It was Rodriguez's 41st save of the season.