Jered Weaver was surrounded. There were baserunners at every corner and trouble everywhere he looked.

He didn't panic or crumble. He did something about it.

Weaver squirmed out of a bases-loaded jam in the seventh inning and pitched into the eighth to remain unbeaten in Cleveland, leading the Angels to a 3-0 win over the Indians on Monday night.

About to lose his shutout, maybe the lead and possibly the game in the seventh, Weaver calmly got three quick outs.

"What he did was awesome." said second baseman Howie Kendrick. "That's why he's our ace."

Weaver (9-1) allowed five singles, struck out two and improved to 5-0 with 1.52 ERA in eight career starts at Progressive Field. Scott Downs worked out of a mess in the eighth and pitched the ninth for his seventh save.

The Indians loaded the bases in the seventh off Weaver, who got a forceout at the plate, foul pop and strikeout to end Cleveland's best threat.

"I don't know the last time that happened, me getting out of something like that," said Weaver, who has allowed just one run in his last 21 2-3 innings. "You want to lock it in when you get in a situation like that. I was able to make some pitches. You try not to do much, but that's easier said than done. You have to make some better pitches and keep those guys off balance as much as possible."

Kendrick homered in the seventh off Ubaldo Jimenez (7-7) as the Angels improved to 16-3 on the road since May 22.

Weaver, who pitched a no-hitter against Minnesota on May 7, allowed two hits through six innings before the All-Star went a little wild in the seventh.

He walked Jason Kipnis leading off and allowed Michael Brantley's single, giving Cleveland its first baserunner at second. Weaver walked Carlos Santana to load the bases and Angels pitching coach Mike Butcher went to the mound to settle down the right-hander.

Turns out, Weaver was never in real danger.

He got Johnny Damon to ground to third baseman Alberto Callaspo, who alertly fired home to force Kipnis. Weaver then retired Casey Kotchman on a pop behind the plate before fanning Shelley Duncan on a nasty slider that was low and way outside.

After the strikeout, Weaver calmly walked to the dugout as if he retired the side in order.

Damon, who is batting just .201, felt he let Weaver off the hook.

"He is a very good pitcher," Damon said. "But unfortunately I let the team down. I was in a situation to, at the worst case, try to push across one run right there, and he gave me some pitches off the plate that I felt like I could drive to left and I didn't. He's a pitcher. He knows what to do. He knows when to flip that slow curveball in there and when to throw his changeup.

"He has control over every pitch."

Weaver was pulled after giving up two singles to start the eighth. Downs came in and induced All-Star shortstop Asdrubal Cabrera to hit into a double play and popped up Kipnis. Downs then worked a perfect ninth as manager Mike Scioscia chose to stick with the left-hander instead of closer Ernesto Frieri.

Weaver had little difficulty handling a Cleveland lineup that had just scored 32 runs during a four-game series at Baltimore.

Making his third start since coming off the disabled list with a strained lower back, Weaver retired 11 in a row before giving up a leadoff walk in the sixth. He quickly recovered, however, by getting Jack Hannahan to ground into a double play.

Angels rookie center fielder Mike Trout, the AL's leading hitter, was scratched from the starting lineup with a jammed right pinky. Trout hurt his finger diving back into second on Sunday in Toronto. The All-Star reserve had trouble gripping the bat during early batting practice and manager Mike Scioscia rested the 20-year-old before bringing him in as a pinch-runner in the eighth.

Kendrick's homer in the seventh gave Weaver a two-run cushion — more than enough for the three-time All-Star.

With one out, Kendrick drove a 3-2 pitch from Jimenez over the wall in left for his fifth homer.

The Angels added a run in the eighth when Jimenez walked three — two intentional — and forced in a run. Jimenez gave up three runs and eight hits in 7 2-3 innings.

Los Angeles had its own trouble with Jimenez before finally pushing across a run in the fifth on Erick Aybar's sacrifice fly.

NOTES: Angels 1B Albert Pujols stayed in the game after being struck on the left shoulder by catcher Santana's throw in the fourth. ... X-rays on Trout's finger were negative. He has sparked the Angels' turnaround. They were 6-14 when he was called up from the minors on April 28, and are 39-21 since. Trout was named the AL's top rookie for June, when he set franchise rookie records for average (.372), hits (42), runs (27) and steals (14). ... Indians DH Travis Hafner went 0 for 4 in a rehab start for Triple-A Columbus as he continues to recover from knee surgery. Manager Manny Acta expects Hafner to be recalled during the Indians' seven-game homestand.