Jered Weaver and Brian Fuentes combined on a five-hitter, Bobby Abreu drove in two runs and the Angels rallied to beat the Chicago White Sox, 3-1, on Wednesday night.

Weaver (4-2) remained unbeaten against Chicago while striking out eight in eight innings. He gave up four hits and one run. Weaver has now given up just one run in four of his last five starts.

He got into a jam in the fourth, but got out of it by getting Brian Anderson to fly out to center fielder Torii Hunter. Fuentes pitched the ninth to pick up his 13th save of the season.

Gavin Floyd (3-5) gave up three runs and seven hits in eight innings. He struck out eight and walked two.

The White Sox took a 1-0 lead on Paul Konerko's sacrifice fly in the fourth that scored Jermaine Dye, who had singled.

The Angels touched up Floyd for three runs in the sixth. Jeff Mathis and Chone Figgins singled before Abreu's double gave the Angels a 2-1 lead.

Juan Rivera double Abreu home to make it 3-1.

Figgins' hit helped him extend his hitting streak to a career-best 15 games.