CHICAGO -- Chris Sale took a perfect game into the seventh inning before finishing with a one-hitter, and the Chicago White Sox beat the Los Angeles Angels 3-0 on Sunday night to avoid a three-game sweep.
Mike Trout's sharp single to center ended the perfect game bid with one out in the seventh, on Sale's 70th pitch.
Sale (4-2) struck out seven on just 98 pitches for his first career shutout and third consecutive win. Sale's one-hitter is Chicago's first since Zach Stewart had one on Sept. 5, 2011, at Minnesota.
Alexei Ramirez's two-run two-out single in the bottom of the seventh drove in Tyler Flowers and Tyler Greene to give Sale the lead and chase Los Angeles' C.J. Wilson (3-2). Alex Rios then doubled off reliever Michael Kohn to drive in Ramirez, who had three hits and scored a run.
Chris Iannetta reached base on Ramirez's throwing error in the ninth for Los Angeles, which had two base runners.
RANGERS 12, ASTROS
Texas set a season high for runs in winning its fourth in a row, and did it quickly. Beltre's homer in the fifth made it 12-1.
Beltre doubled twice and drove in four runs. He homered for the second straight day, hitting a drive that was ruled a double and changed to a homer after a video review. Beltre connected off Edgar Gonzalez, signed by the Astros earlier in the day.
The Astros have lost four straight at are 10-28, the worst 38-game start in team history, STATS said.
BLUE JAYS 12, RED SOX 4
BOSTON -- Jose Bautista hit two of Toronto's five home runs, and the Blue Jays beat Boston to take two of three in the series.
Red Sox right fielder Shane Victorino crashed into the wall in the fourth catching Colby Rasmus' drive and fell to the ground, writhing in pain. After being attended to by team personnel, Victorino remained in the game but left after the sixth.
YANKEES 4, ROYALS 2
Hiroki Kuroda (5-2) won for the fifth time in six decisions.
The Yankees scored all their runs off Ervin Santana (3-2) and won their fifth in a row. Mariano Rivera closed to remain perfect in 15 save opportunities -- he's converted 29 straight against the Royals since 1998, his longest active streak against any team.
INDIANS 4, TIGERS 3, 10 INNINGS
Reynolds won it with his single off Darin Downs (0-1).
The Indians took two of three from the defending AL champions. Cleveland has not lost any of its last seven series.
ORIOLES 6, TWINS 0
Wei-Yin Chen (3-3) pitched five strong innings before leaving with a strained right oblique, and the Orioles won for the sixth time in eight games.
Scott Diamond (3-3) tied a career high by giving up six earned runs in 5 2-3 innings.
MARINERS 6, ATHLETICS 1
Saunders (3-4) improved to 9-0 with a 1.72 ERA in 13 career appearances at Safeco. He is 3-0 with an 0.94 ERA at home this year, but 0-4 with a 12.54 ERA on the road.
Tommy Milone (3-5) lost for the fifth straight start.
RAYS 4, PADRES 2
The Rays won their fifth in a row overall.
Copyright 2013 by The Associated Press
This story is from ESPN.com's automated news wire. Wire index
MORE MLB HEADLINES
- Ruth's 1918 Red Sox contract sells for $1M
- McCutchen's blasts in 9th, 11th carry Pirates
- Cardinals deal Brewers seventh straight loss
- Abreu's MLB-leading 29th HR lifts White Sox