Mike Sweeney hit a two-run homer in the eighth inning and the Kansas City Royals rallied past the Chicago White Sox 4-3 in the American League on Saturday.
The White Sox, who won 16 of their first 20 games last season, have lost four of their first five this season.
Sweeney homered on a 2-2 pitch off Cliff Politte (0-1) with Mark Grudzielanek, who had singled for his third hit, aboard.
Javier Vazquez, who was making his White Sox debut, tossed seven strong innings, allowing five hits and a walk and left with a 3-2 lead.
Jim Thome's RBI double tied it at 2 in the seventh for the White Sox, and A.J. Pierzynski's infield single scored Scott Podsednik with the go-ahead run.
Vazquez held the Royals to two hits over five shutout innings before Grudzielanek singled in the sixth and Sweeney was hit by a pitch. Reggie Sanders' double to the left-center gap drove in both runners.
Indians 3, Twins 0
At Cleveland, Jason Johnson pitched shutout ball for seven innings in his Cleveland debut and Travis Hafner homered again.
Hafner went 3-for-3 to extend his streak of reaching base safely to 10 straight over three games and helped the Indians stretch their winning streak to four after an opening-night loss in Chicago.
Johnson (1-0) gave up only four hits. The right-hander walked one, struck out two and was helped by two double plays. Bob Wickman worked the ninth for his second save.
Scott Baker (0-1) allowed nine hits and three runs in 4 1-3 innings to get the loss.
Red Sox 2, Orioles 1
At Baltimore, Curt Schilling pitched seven innings of three-hit ball, and Jason Varitek had a hand in both Boston runs for the win over Baltimore.
Athletics 3, Mariners 0
At Seattle, Barry Zito rebounded from his poor opening day start, combining with three Oakland relievers on a one-hitter to blank Seattle.
Angels 3, Yankees 2
At Anaheim, California, Ervin Santana allowed one run over 5 2-3 innings, Adam Kennedy hit a tiebreaking two-run triple and the Los Angeles Angels beat New York to hand Randy Johnson his first loss of the season.



