Updated

Jered Weaver knew it was going to be a tough start even before he reached the mound.

The Angels ace didn't feel good in the bullpen and struggled through 5 1-3 innings in a 2-1 loss to the Seattle Mariners on Sunday, snapping Los Angeles' five-game winning streak.

Weaver (16-4) allowed just two earned runs on solo home runs from Jesus Montero and Carlos Peguero, but he also walked four and gave up eight hits.

"I was able to battle for the most part, but obviously made a couple bad pitches," Weaver said.

He was also struck on the right arm by a line drive off Dustin Ackley's bat in the fifth. Weaver said it clipped his glove prior to hitting his arm and looked worse than it feels.

"It didn't really square me up too bad," Weaver said.

Weaver threw a couple practice pitches and remained in the game.

"This is something that's going to get sorer as time goes on," Angels manager Mike Scioscia said. "I'm sure it's going to stiffen up tonight, and we'll see how it sets up tomorrow."

Montero singled early, then hit his 15th home run of the season in the fourth. It was Montero's fourth home run and fifth hit in nine career at-bats against Weaver.

Only Curtis Granderson and Alex Rodriguez have more home runs (5) against Weaver, but needed 25 and 24 at-bats, respectively, to do it.

Peguero hit his second homer of the season in the fifth, a high-arcing shot to right field, a day after being called up from Triple-A Tacoma.

Hisashi Iwakuma (6-3) mixed his pitches all afternoon. He threw 7 1-3 scoreless innings, allowing five hits and striking out seven.

Tom Wilhelmsen allowed a run in the ninth when Howie Kendrick singled home pinch-runner Vernon Wells, but retired Erick Aybar to convert his 22nd save in 25 tries.

Josh Kinney relieved Iwakuma with two runners on in the eighth and retired Mike Trout and Torii Hunter on fly balls. The Angels were 1 for 11 with runners in scoring position.

"I was just going to make him hit the ball the other way instead of try and get perfect and punch him out," Kinney said of Trout. "I wasn't going to let him pull the ball on me. You got respect the kid. The kid's tough."

Mariners left fielder Trayvon Robinson went into the stands to catch Maicer Izturis' fly ball in the fifth inning. Robinson snagged the ball just in foul territory before his momentum caused his whole body to go into the stands.

Hunter threw out Montero at the plate to save Weaver a run in the second. Peguero had singled to right and the Mariners tried to score the plodding Montero from second, but he was tagged out on a close play.

Albert Pujols' fourth-inning double extended his hitting streak to 11 games. He moved to third on a grounder, but Mark Trumbo struck out. Trumbo struck out three times and is hitting .198 with three home runs since Aug. 1.

Pujols couldn't drive in Chris Iannetta, who had doubled and moved to third in the sixth.

"We had some opportunities," Scioscia said. "They came back to haunt us in the end."

NOTES: Angels LHP C.J. Wilson (10-9) starts Monday at Oakland.