BOSTON — Dustin Pedroia fouled off nine pitches in a 13-pitch at-bat against Jered Weaver before lining a go-ahead, two-run single that helped the Boston Red Sox beat the Los Angeles Angels 9-5 tonight.

The loss was Weaver’s first of the season. Weaver (6-1) scratched Sunday due to a stomach virus, gave up three runs, six hits, struck out six and walked one over six innings. He failed to become the first pitcher since 1891 to go 7-0 by May 2 or sooner. Sadie McMahon of the Baltimore Orioles from the American Association was the last to open 7-0 by the second day of May.

Adrian Gonzalez had a three-run double and Clay Buchholz (2-3) pitched 6 2-3 solid innings for the win.

It was Boston’s second straight win after dropping 4 of 5, and raised its record to 5-0 against the Angels this season. The Red Sox, who swept four games in Anaheim from April 21-24, have beaten Los Angeles 14 of the past 15 games.

Vernon Wells hit a two-run homer for the Angels, who had won four of six since being swept by Boston.

Buchholz, coming off a career-high 12 hits in a 4-1 loss at Baltimore in his last outing, held the Angels to two runs on eight hits, walking two and fanning two.

With the Red Sox trailing 2-1 in the fifth, Carl Crawford doubled and Jason Varitek walked before Jacoby Ellsbury bounced into a fielder’s choice, erasing Varitek at second. During Pedroia’s lenghty at-bat, Ellsbury stole second before the 2008 MVP won his battle with the two-run single to make it 3-2.

Gonzalez’s double, Kevin Youkilis’ RBI double and David Ortiz’s two-run homer broke it open in the seventh, making it 9-2.