Jered Weaver outpitched Mike Pelfrey with eight innings of two-hit ball and Albert Pujols drove in the only run leading the Los Angeles Angels to a 1-0 victory over the Minnesota Twins on Wednesday.

Weaver (5-5) struck out nine and walked one in his first home start against the Twins since his no-hitter on May 2 2012. The three-time All-Star right-hander retired 19 consecutive batters during one stretch -- just four days after teammate C.J. Wilson set down 18 in a row during his 2-0 win against Oakland.

Weaver improved to 8-2 lifetime against the Twins with a 3.28 ERA. Doug Bernier a 33-year-old rookie who got his first major league hit and RBI in Minnesota's 4-3 win on Monday singled on an 0-2 pitch with one out in the first. The Twins didn't get another baserunner until Ryan Doumit walked on four pitches with two out in the seventh and rookie Aaron Hicks singled with two out in the eighth.

Ernesto Frieri got three outs for his 25th save in 27 chances less than 24 hours after giving up five runs including a grand slam by Chris Herrmann in the 10th inning of the Angels' 10-3 loss. The right-handder ended it by striking out Herrmann with runners at the corners.

Angels right fielder Josh Hamilton missed his third straight game because of right ankle stiffness.

Pelfrey (4-8) pitched six innings and allowed five hits including Pujols' run-scoring single in the first. The right-hander who signed a one-year $4 million contract with Minnesota in December after spending his first seven seasons with the Mets is 1-5 with a 4.64 ERA in his last 12 starts. His only victory during that stretch was July 6 when he pitched six innings of 3-hit ball in a 6-0 win at Toronto.