Alex Rios hit his second homer of the game, connecting for a two-run shot in the 10th inning Friday night that lifted the Chicago White Sox over the Los Angeles Angels 8-6.
Rios also hit a solo homer as the White Sox won their third in a row. The Angels lost their third straight, with starter Zack Greinke roughed up in his second start since being acquired from Milwaukee.
Angels manager Mike Scioscia played the game under protest after a baserunning call went against his team in the first inning.
Adam Dunn singled off Hisanori Takahashi (0-3) to open the 10th. Pinch runner Jordan Danks stole second with one out before Rios hit his 18th home run.
Matt Thornton (4-6) pitched a scoreless 10th for the win.
A.J. Pierzynski's three-run homer highlighted a four-run first for Chicago. It was his career-high 19th home run, one more than he hit in 2005.
Albert Pujols hit his fifth home run in four games for the Angels. Mike Trout also connected for Los Angeles.
Greinke allowed six runs and 10 hits over seven innings. Alejandro De Aza doubled home Alexei Ramirez in the seventh to make it 6-all. De Aza and Ramirez had three hits apiece.
Scioscia argued a call in the first and then played the game under protest.
With the bases loaded and no outs, Paul Konerko hit a grounder to third base. After getting the out at home, catcher Chris Iannetta threw wide to first, pulling Pujols off the bag.
Scioscia contended that Konerko was not within the base line for the last 45 feet. The umpires convened and upheld the safe call, bringing Scioscia back out for another discussion. After a second umpire meeting, Konerko was still ruled safe, prompting Scioscia's decision to play under protest.
The play loomed large as Pierzynski homered with two outs.
Trout hit a two-run homer, his 19th, in the second. Pujols hit his 23rd in the sixth, a solo drive that chased a struggling Phil Humber.