"Weaver throws across his body and he makes good pitches, so it's not easy to face him," Montero said. "You just have to wait for the ball and think middle, middle all the time. That was my approach today."
This was the first time Weaver gave up two home runs in a game to the same player since Oct. 1, 2010, when the Rangers' Mitch Moreland hit a pair of solo shots off him in Texas.
Weaver (15-2) had won nine straight outings before losing to his teammate from Long Beach State. Weaver fell one shy of Chuck Finley's 1997 franchise record for consecutive starts won.
"I thought I threw the ball real well, but obviously a couple of mistakes cost me," Weaver said.
"I made bad pitches and Montero put them were he was supposed to. I was just trying to stay away from him for the most part. He's one of those guys who has my number today, so I'll try to pitch him differently next time," he said.
Vargas (13-8) allowed a run and seven hits over 8 1/3 innings. The left-hander gave up a one-out triple in the ninth by Howie Kendrick before Tom Wilhelmsen came in and got the final two outs for his 16th save in 18 chances.
Weaver was 6-0 with a 2.23 ERA and 26 strikeouts in six starts during July, but Vargas beat him out for AL pitcher of the month honors with a 5-0 record, a 1.64 ERA and 26 strikeouts in his six starts.
"I knew he had great stuff, but he's a completely different pitcher now than when he was at Long Beach," Weaver said. "Back then he was a 93-94 (mph) guy, but as we all know, that stuff doesn't last forever, so you've got to figure out our to pitch. And he's done a heck of a job of doing that."
Weaver and Vargas, both of whom were drafted in 2004, started against each other two other times in the majors -- both last season. Vargas won the first matchup 3-0 at Seattle, and neither pitcher got a decision the second time around as the Angels won 1-0 in 10 innings.
"I've pitched pretty well in those games and so has he," Vargas said. "Today I threw my changeup for strikes early in the game, then just below the strike zone later. And when the hitters fell behind, they were a little more willing to chase that pitch. They were set up for a big inning a couple of times, but I got out of it with the help of our defense."
Montero hit a solo homer in the second that landed barely beyond the fence and just over the glove of center fielder Mike Trout, who robbed Miguel Olivo of a homer in the Mariners' 7-4 win Saturday night.
It was Seattle's only hit until the sixth, when John Jaso singled with two out and Montero sent a drive into the lower seats in the left-field corner for his 12th home run. It was the second multihomer game in the majors for the former Yankees catcher, who hit two against Baltimore's Jim Johnson last Sept. 5 at New York in just his fourth big league contest.
Weaver was charged with three runs, four hits and three walks in seven innings and struck out five. It was only the second time in the right-hander's last 13 outings that he gave up more than two earned runs. His ERA increased from 2.13 to 2.22.
Angels pitching coach Mike Butcher was ejected by plate umpire Mike Estabrook just three batters into the game for complaining too loudly from the dugout about a second straight borderline pitch by Weaver that was called a ball -- resulting in a walk to Kyle Seager.
The ejection was Butcher's fourth in the big leagues and first since April 28, 2008.
Vargas has allowed one home run over his last five starts, after giving up at least one in each of his previous 12 -- including five on June 20 in a 14-10 loss at Arizona. ... The Mariners finished their road trip 3-6, after winning the final seven games of their previous homestand against Kansas City and Toronto. ... Weaver walked more than two batters for only the fourth time this season.