SEATTLE (AP) — Felix Hernandez pretty much had his way over major league hitters during his first decade with the Seattle Mariners.

There are, however, at least a couple of exceptions and David Murphy and Mike Trout showed the reasons why Tuesday night.

Murphy hit a three-run homer and Trout added a solo shot to power the Los Angeles Angels to a 4-3 victory over the Mariners.

Hernandez (17-9) had hit David Freese to open the third inning and Carlos Perez, who had three hits, reached on an infield single. Murphy, hitting leadoff for the first time this season, followed with his ninth home run just off the top of the wall in right field.

"I was a little surprised. The ball hit the yellow line," Hernandez said. "I was totally surprised. It was a changeup. It was down but I think it was a spot where he hit the ball pretty good. It was a mistake."

It was Murphy's 19th career RBI — including four home runs — against Hernandez, the most of any major leaguer.

"I know I've had success against him," Murphy said. "Maybe that gives me a little bit of confidence but it's not like I go up there and anything is going to magically happen just because I've had a good past against him. It's going to be a grind and a battle every time you face a guy that good."

Trout connected for his 36th homer in the sixth on an 0-2 pitch from Hernandez, who went seven innings, allowing four runs and five hits, striking out five and walking two.

Trout is hitting .349 with four home runs and 13 RBIs in his career against Hernandez. That's the highest career average of any major leaguer.

"Felix is one of the top pitchers of his generation," Angels manager Mike Scioscia said. "Mike definitely has some numbers that jump out, that are unusual, because of how good he is."

Hernandez, who had won his previous three starts and was 3-0 with a 0.67 ERA in four starts against the Angels this season, said, "I had good stuff, good fastball, good breaking ball. Another one of those games I gave up two homers and we lost the game."

Mariners manager Lloyd McClendon added, "this was a funny game. I thought Felix had great stuff going in the ballgame tonight and made two bad pitches and it cost him the game."

Seattle's Nelson Cruz hit his 42nd home run in the first inning, tying Baltimore's Chris Davis for the major league lead. He has 27 career home runs against the Angels, his most against any team.

Franklin Gutierrez added his 13th home run in the seventh.

Nick Tropeano (2-2), in his fourth stint with the Angels and making his fifth start this season, worked five innings for the victory, allowing two runs and four hits with five strikeouts and three walks.

Joe Smith finished the ninth for his third save in seven opportunities. Regular closer Huston Street has been battling flu-like symptoms and was held out.

TRAINER'S ROOM

Mariners: OF Shawn O'Malley was out of the lineup Tuesday, one day after being hit in the head diving back to second on a pickoff play. He could have played but irrespective of the beaning McClendon intended to rest him. ... IF-OF Brad Miller, a late scratch Sunday with neck spasms and served only as a pinch-runner Monday, was back in the lineup Tuesday.

Angels: 2B Johnny Giavotella took early batting practice to test his vision issues. He has been dealing with blurred vision for about three weeks. "Not quite as sharp with his vision but it's much better," Scioscia said.

UP NEXT

Mariners: RHP Hisashi Iwakuma (7-4, 4.05 ERA) has had a couple inexplicable outings over his last four. He twice gave up five straight hits and was removed with barely enough time for a reliever to warm up. Those were his only losses in his last eight starts. He is 7-2 with a 2.71 ERA in 12 appearances against the Angels.

Angels: RHP Jered Weaver (7-10, 4.71 ERA) has had 32 career starts against the Mariners, going 14-11 with a 3.45 ERA. He has faced Seattle just once this season, a 4-1 loss on Opening Day.