Sox’s Garcia nearly perfect

? Given a big lead, Freddy Garcia could afford to simply throw strikes. Unhittable strikes, mostly.

Garcia pitched perfect ball until Adam Kennedy singled with two outs in the eighth inning, and the Chicago White Sox beat the Los Angeles Angels, 9-0, Wednesday.

“I knew I had a no-hitter going, but I was trying not to think about it and keep making my pitches,” Garcia said. “I’ve been facing those guys for a long time, so I know they’re aggressive and they like to swing the bat. Kennedy hit a good pitch, so there was nothing I could do about it. But who doesn’t want to throw a no-hitter?”

Garcia (14-9) retired the first 23 batters before Kennedy cleanly lined the 100th pitch to center field on a 3-2 count. The only other time Garcia went to a three-ball count before that was in the seventh, when Vladimir Guerrero hit an inning-ending grounder on a 3-1 pitch.

Rangers 11, Tigers 3

Detroit – Gary Matthews Jr. hit for the cycle – and did it in order, too – and Texas routed Detroit.

Blue Jays 10, Mariners 0

Seattle – Gregg Zaun hit a grand slam during a nine-run fourth inning and also had a solo home run, leading A.J. Burnett and Toronto over Seattle.

Athletics 1, Twins 0

Minneapolis – Rookie Francisco Liriano’s highly anticipated return to the Minnesota rotation came to a sudden halt because of elbow problems, and Dan Haren pitched eight shutout inning.

Yankees 8, Devil Rays 4

New York – Robinson Cano drove in five runs, and Alex Rodriguez hit a long homer. Derek Jeter extended his hitting streak to 22 games.

Orioles 4, Red Sox 0

Baltimore – Erik Bedard pitched seven innings of two-hit ball, and Baltimore spoiled the return of Boston knuckleballer Tim Wakefield.

National League

Astros 5, Cardinals 1

St. Louis – Roy Oswalt pitched shutout ball into the ninth inning, and Lance Berkman hit his 40th home run.

Mets 7, Marlins 4, 11 innings

Miami – Jose Valentin scored on a wild pitch in the 11th inning.

Dodgers 6, Cubs 0

Chicago – Brad Penny became the first 16-game winner in the National League.

Phillies 6-7, Braves 5-2

Atlanta – Carlos Ruiz and Jimmy Rollins hit two-run homers, and Jon Lieber won his fourth straight decision to give Philadelphia a doubleheader sweep.

Pirates 6-1, Brewers 3-2

Pittsburgh – Ben Sheets took a perfect-game bid into the seventh inning before Chris Duffy led off with a single, and Milwaukee beat Pittsburgh to split a doubleheader.

Rockies 9, Giants 8

San Francisco – Barry Bonds hit his 732nd career home run and 24th this season.

Padres 10, Reds 0

Cincinnati – Jake Peavy continued his domination of Cincinnati hitters, and Mike Piazza hit a three-run homer.

Diamondbacks 4, Nationals 2

Phoenix – Livan Hernandez blanked his former Washington teammates for seven innings.