KANSAS CITY, Missouri (AP) -- Danny Duffy carried a perfect game into the seventh inning and Billy Butler drove in the only run as the Kansas City Royals held on to beat the Baltimore Orioles 1-0 Saturday.
The 25-year-old Duffy (2-3) retired the first 20 batters he faced, rarely running the count to three balls and flirting with the first perfect game in franchise history. Adam Jones finally ended it with a weak groundball up the middle with two outs in the seventh.
Duffy bounced back to get Chris Davis on a fly out to end the inning, then gave up a single to Nelson Cruz to start the eighth. Wade Davis retired the next three batters, and All-Star closer Greg Holland survived a bases-loaded jam in the ninth for his 11th save.
Bud Norris (2-4) was the hard-luck loser, allowing four hits and a walk in 7 1-3 innings.
ANGELS 6, RAYS 0
ANAHEIM, California (AP) -- C.J. Wilson scattered five hits in his second career shutout and Grant Green homered, leading the Angels over the Rays.
Wilson (5-3) threw 127 pitches, struck out five and escaped a bases-loaded jam in the seventh by inducing his third double-play grounder of the game.
Cesar Ramos (1-3) lasted only 35 pitches, getting charged with four runs and four hits through 1 1-3 innings in his seventh start since he was inserted into the rotation to replace the injured Matt Moore.
Albert Pujols had a run-scoring double to end an RBI drought of nine games and 39 at-bats.
-BLUE JAYS 4, RANGERS 2
ARLINGTON, Texas (AP) -- Kevin Pillar and Jose Reyes had eighth-inning doubles to give the Blue Jays the lead as Toronto beat Texas.
Right-hander Steve Delabar (3-0) retired four straight, including striking out the side in the eighth, to earn the victory.
Toronto has won three straight while Texas has lost four in a row.
Pillar hit a cue shot down the right field line off left-handed reliever Neal Cotts (1-3). Reyes' two-out dunker into right off Cotts scored Pillar.
Jose Bautista homered.
ATHLETICS 6, INDIANS 2
CLEVELAND (AP) -- Brandon Moss hit a two-run homer and drove in three runs and Josh Donaldson also had three RBIs, helping the Athletics overcome starter Scott Kazmir's ejection in the second inning to beat the Indians.
Dan Otero (4-0) relieved Kazmir and pitched 3 2-3 scoreless innings to help seal Oakland's eighth win in nine games.
Kazmir was ejected by plate umpire Jerry Layne after the left-hander walked Jesus Aguilar on a borderline full-count pitch with one out in the second.
Josh Tomlin (2-1) was the loser.
TIGERS 6, RED SOX 1
BOSTON (AP) -- Miguel Cabrera hit a solo homer and RBI single, and Rick Porcello pitched eight solid innings to win his sixth straight start as the Tigers beat the Red Sox.
It was the 10th consecutive road win for the Tigers, who are a majors' best 26-12. Detroit won for the 14th time in 17 games.
Porcello (7-1) gave up one run, six hits, striking out four and walking one. It was the fifth time in six starts he's allowed two or fewer runs.
John Lackey (5-3) gave up more than two runs for the first time in five starts, allowing six -- five earned -- on nine hits in 5 1-3 innings.
TWINS 4, MARINERS 3
MINNEAPOLIS (AP) -- Brian Dozier's three-run homer in the fifth inning put Minnesota ahead for good, and Samuel Deduno tossed six sharp innings for his first win as the Twins beat the Mariners.
With Minnesota trailing 2-1, Dozier followed consecutive singles by Aaron Hicks and Eduardo Escobar by sending a curveball from Roenis Elias (3-3) into the seats in left field. It was Dozier's 11th homer of the season.
Michael Saunders had a homer and two RBIs for Seattle.
Deduno (1-2) struck out four, allowed two hits and retired 18 of the 23 batters he faced.
ASTROS 6, WHITE SOX 5
HOUSTON (AP) -- Jason Castro hit a three-run homer and Dexter Fowler homered and drove in two runs to help the Astros outlast the White Sox.
Houston starter Jarred Cosart (3-3) allowed seven hits and three runs in five innings.
Chicago's Hector Noesi (0-4) gave up eight hits and six runs -- five earned -- in six innings to remain winless in four starts and 10 appearances this season.
Alexei Ramirez had two hits and an RBI, and rookie Jose Abreu drove in his AL-leading 42nd run with a sacrifice in the third.
YANKEES 7, PIRATES 1
NEW YORK (AP) -- Mark Teixeira hit a two-run homer and Zoilo Almonte connected in his first start of the season as the Yankees went deep five times for a victory over the Pirates.
Brett Gardner and Alfonso Soriano also homered off a struggling Edinson Volquez to back five scoreless innings from David Phelps (1-0). Brian McCann added a two-run drive in the eighth.
Starling Marte homered and had three hits in his return to the starting lineup for the Pirates.
Volquez (1-4) gave up six hits -- four homers -- and no walks in 6 1-3 innings, dropping to 0-4 in his last five starts.