Garrett Richards pitched four-hit ball into the ninth inning of his sixth career start, Albert Pujols homered and made two stellar defensive plays, and the Los Angeles Angels beat the Arizona Diamondbacks 2-0 Sunday for their 18th win in 24 games.

Rookie Mike Trout ended a 1-for-20 slump with an RBI double in the seventh inning for the Angels, who posted their major league-best ninth shutout victory — and their second in a row after Ervin Santana's one-hitter Saturday night.

Richards (2-0) repeatedly escaped trouble in his third start of the season and the longest outing of his short career, striking out five and walking four. He left after walking Miguel Montero on four pitches to open the ninth, but Ernesto Frieri got three straight outs for his seventh save.

Orange County native Ian Kennedy (5-7) allowed six hits over eight strong innings for the Diamondbacks, but his teammates haven't scored in 21 consecutive innings.

The surging Angels (36-31), who moved a season-high five games over .500, have won 12 of their last 13 interleague series. Los Angeles is easily the majors' best interleague team since the start of 2007, going 70-32.

After losing out to Jerome Williams for the fifth rotation spot out of spring training, Richards has capitalized on a chance to pitch regularly for the Angels while ace Jered Weaver recovers from lower back pain. The 2009 first-round pick went 0-2 in seven appearances last year, but has been largely outstanding in his current call-up, allowing just two earned runs in 21 innings.

Kennedy, who grew up just south of Angel Stadium in Huntington Beach, bounced back impressively from a poor start against Texas, striking out six. A 21-game winner last season, he still has lost seven of his last nine starts.

Pujols led off the fourth inning with his 10th homer of the season and the 455th of his career, hitting the bottom of the fake rock pile beyond center field. The three-time NL MVP has the game's best interleague batting average since 2001, but was hitless in the first two games against Arizona after an eight-game hitting streak that included seven multihit games.

Pujols also made a sparkling defensive play in the fifth, gloving Josh Bell's screaming grounder at his feet and completing a double play to erase another Arizona threat.

Erick Aybar led off the seventh with a ground-rule double that Justin Upton lost in the sun in right field, but Arizona tagged him out at home on Peter Bourjos' short grounder. Bourjos scored moments later when Trout connected for a double off the base of the left-field wall.

Richards retired 10 straight between Pujols' double-play turn and Willie Bloomquist's two-out single in the eighth when Aybar couldn't handle the grounder. Jason Kubel added another single, but Pujols ended the inning by tracking down Upton's foul pop next to the Diamondbacks' dugout, reaching far into the television camera well and bobbling the ball before controlling it.

NOTES: Richards, from nearby Riverside, is the fourth Southern California native to pitch in the Angels' rotation this season, along with Weaver, Dan Haren and C.J. Wilson. ... Kennedy became a father for the second time a week ago. ... Trout was the AL's co-player of the week last week, stirring more talk of an All-Star berth for the 20-year-old speedster. He then went hitless in his first 11 at-bats against Arizona.