SEATTLE (AP) -- Roenis Elias made one mistake in the second start of his major league career.
For a change early in this season, the Seattle Mariners offense couldn't make up for one error from their pitcher.
Albert Pujols homered for the second straight game while Garrett Richards and two relievers combined on one-hitter as the Los Angeles Angels beat the Mariners 2-0 on Wednesday night.
After outscoring the Angels 31-11 in winning the first four games against Los Angeles this season, the Mariners were stifled.
"I thought we had good at bats -- not overly successful -- but they were good at bats," Seattle manager Lloyd McClendon said. "We tried to get him deep in the count. He was a little better than we were tonight. Those things happen."
Seattle's lone hit came on a one-out single from Abraham Almonte in the third inning. That's not to say Seattle lacked baserunners. Between walks and errors, the Mariners had multiple chances to break through against Richards.
They failed to do so for seven innings before Richards (2-0) gave way to the bullpen.
"The first two at bats he looked a little out of control," Almonte said. "After the second at bat, he started getting better pitch location and a little bit (tougher)."
Joe Smith pitched a perfect eighth and Ernesto Frieri pitched the ninth for his first save of the season. It was the first one-hitter by the Angels since Ervin Santana in June 2012 vs. Arizona, and first thrown against Seattle since July 2013 by Houston.
The last combined one-hitter by the Angels came in May 2012 against Oakland.
"Confidence is high. And I think that when you're confident you're pretty comfortable you're going to make those pitches at the very least," Angels manager Mike Scioscia said of Richards. "I think that's the next step Garrett has taken. I think he's getting to know his stuff better."
Elias (0-1) was done after five innings, another solid start for the youngster who never pitched above Double-A last season. His only mistake was the homer given up to Pujols, but better efficiency with his pitches could have equaled a longer start. Elias struck out two and walked one.
But that one mistake was big. Pujols' blast went 418-feet into the netting beyond the Angels bullpen in left field, and like the night before, Mike Trout was on base. Pujols is now six homers shy of becoming the 26th player in baseball history to reach 500 homers in his career.
"I've got to keep pitches down in the major leagues," Elias said through an interpreter. "If you don't they are not forgiving."
Richards throwing a gem in Seattle should not have come as a surprise and provided a bright spot on what started as a miserable day for the Angels with news that Josh Hamilton could miss two months with a thumb injury.
The last time Richards started in Seattle last August, he threw 7 1-3 shutout innings. In 12 innings this season, Richards has given up one earned run and struck out 13. His only issue is walks and pitch count. He walked five in his season debut against Houston last week, lasting just five innings.
Richards struck out six to help counter three walks and two errors. He pitched out of one major jam in the third. After Almonte's hit and an error allowed Brad Miller to reach base, Richards got a grounder from Robinson Cano and strikeout of Justin Smoak to end the threat.
"He never went down. He was 96-97 and his curve ball was filthy too," Cano said. "Got to give him credit."
Notes: Angels SS Erick Aybar was a late scratch from the lineup after getting some pre-game dental work. He was replaced by John McDonald. ... Injured Seattle started Taijuan Walker (shoulder) threw five shutout innings for Double-A Jackson in a rehab outing on Wednesday. Walker struck out 10. ... One of Seattle's other injured starters, Hisashi Iwakuma, threw his first bullpen session on Wednesday as he continues to work back from a finger injury that kept him from throwing for most of spring training.