It was baseball's 21st perfect game and first since Philadelphia's Roy Halladay threw one against the Florida Marlins on May 29, 2010. It was the third in White Sox's history, joining Mark Buehrle against Tampa Bay on July 23, 2009, and Charles Robertson against Detroit on April 30, 1922.

With the White Sox lined up on the top step of the dugout, Humber fell behind 3-0 to Michael Saunders leading off the ninth. But he rebounded to strike him out. John Jaso then flied out before Brendan Ryan, another pinch-hitter, struck out to end the game.

In Boston,  Nick Swisher hit a grand slam to help the New York Yankees erase a nine-run deficit, then he added a two-run double to give them the lead as they posted back-to-back seven-run innings to beat Boston and send the Red Sox to their fifth straight loss.

A day after Red Sox starter Clay Buchholz gave up five homers and the Yankees spoiled Fenway Park's 100th anniversary party, Boston chased New York starter Freddy Garcia after 1 2-3 innings and opened a 9-0 lead through five. But Mark Teixeira homered twice, the second a three-run shot in the seven-run seventh that cut the deficit to 9-8.

Swisher hit a two-run double off the center field wall in the eighth to make it 10-9. 

In St. Petersburg, Florida,  James Shields carried a three-hitter into the ninth inning, B.J. Upton had a key two-run single and the Rays beat the Twins.

Shields (3-0) allowed one run and five hits over eight-plus innings while winning his third consecutive start after getting a no-decision on opening day against the New York Yankees.

Upton's two-out hit off Carl Pavano (1-2) gave the Rays a 3-0 lead in the sixth. 

Rangers 10  Tigers 4, Game 1

Tigers 3  Rangers 2, Game 2: In Detroit,  Justin Verlander pitched six innings without allowing an earned run, and the Detroit Tigers salvaged a split of their doubleheader with Texas, beating the Rangers 3-2 in the nightcap Saturday.

Texas routed the Tigers 10-4 in the first game for its eighth consecutive victory, but Verlander (2-1) held off the powerful Rangers, allowing four hits and three walks while striking out eight. The Rangers managed an unearned run in the fourth, but Detroit answered with three runs in the bottom of the inning against Neftali Feliz (1-1).

Octavio Dotel pitched the seventh for Detroit, Joaquin Benoit allowed a run in the eighth and Jose Valverde walked two in the ninth but struck out Josh Hamilton to end it, picking up his fourth save.

In Kansas City, Missouri,  Colby Rasmus hit two home runs to help make Drew Hutchison a winner in his major league debut and the Blue Jays handed the Royals their ninth straight loss.

Edwin Encarnacion also homered and drove in three runs for the Blue Jays.

Hutchison, who had never pitched above Double-A, left after 99 pitches and 5 1-3 innings, allowing five runs and eight hits, including two homers. Hutchison became the eighth youngest starting pitcher in Blue Jays history at 21 years, 243 days.

In Anaheim, California: Jered Weaver pitched his first complete game of the season, Bobby Abreu highlighted a five-run fifth inning with a tiebreaking two-run single and the Angels beat the Orioles.

Weaver (3-0) allowed five hits, struck out five and walked none while going the distance for the ninth time in 181 career starts on 114 pitches. Since the beginning of the 2010 season, the All-Star right-hander is 12-0 with a 1.84 ERA in 15 starts before May 1. The last time he lost a game in April was his second start of 2009.

Jake Arrieta (1-1) gave up five runs and six hits in 4 1-3 innings. 

In Oakland, California, Jason Kipnis drove in three runs and scored twice, Jeanmar Gomez pitched into the sixth inning for his first win of the season and the Indians extended their best road trip in more than 20 years with a victory over the Athletics.

Jason Donald had two hits and also scored twice while Travis Hafner and Jack Hannahan added two hits apiece for the surging Indians. Cleveland is assured it will win its first three series on the road for the first time since 1988. Cleveland also improved to 7-1 on its current nine-game swing.