KANSAS CITY, Mo. (AP) -- After four hours, 23 minutes and a dozen pitchers combining to throw 397 pitches, Nori Aoki gave the Kansas City Royals a win.
Aoki singled home Lorenzo Cain in the 14th inning to lift the Royals to a 2-1 victory over Cleveland after Indians starter Corey Kluber carried a perfect game into the seventh inning on Thursday night.
Cain opened the 14th with an infield single and stole second before Aoki delivered the winning hit off John Axford on a full-count pitch with one out.
"I was just trying to stay aggressive," Aoki said. "It wasn't like I was trying to go the other way or anything like that. I was just looking for a pitch to hit, and if I got that pitch, swing hard."
Aoki was mobbed by his teammates at second base.
"It was one of the best feelings, and hopefully we have more of those moments the rest of the season," he said.
Aaron Crow (5-1), the seventh Kansas City pitcher, earned the victory -- striking out the side in a perfect 14th.
Left-hander Marc Rzepcynski (0-3), who gave up the hit to Cain, took the loss.
Kluber held the Royals to two hits, retiring the first 19 batters he faced before Omar Infante, who was in a 0-for-16 skid, lined a single to center with one out in the seventh.
"I think it's hard to rate one performance against another," Kluber said. "I got in a good groove, and when they got a runner on we were able to catch him stealing."
Mike Moustakas doubled and scored on a throwing error by left fielder Ryan Raburn in the eighth inning to give the Royals a 1-0 lead. Moustakas hit a fly ball down the left-field line that Raburn nearly caught.
When Raburn tracked down the ball in foul territory, he spiked a throw that rolled into center field.
"How about that," Moustakas said. "I got a 2-0 fastball that I popped up to left, and Raburn tried to make a good play on it and it ended up hitting off his arm or shoulder.
"I just saw him drop it. I was headed to second. I saw him try to throw the ball in, and I just started running to third base. When I saw the ball kind of floating in left field and doing what I can to get over to third, and Jirsch (third base coach Mike Jirschele) waved me in."
Raburn was miffed about how the play unfolded.
"It was a freak play," he said. "I was trying to hold up. I saw our infielders going toward third, and I tried to hold up. I couldn't and of course the ball rolls halfway to center field."
The Indians tied it in the ninth off Greg Holland, who blew his second save in 28 chances. Holland walked Carlos Santana leading off the inning, and pinch-hitter Chris Dickerson bunted him to second. Yan Gomes' two-out single to center scored Santana.
"It was one of those rare occasions when I didn't have command," Holland said. "I threw 12 balls and nine strikes. You never want to walk the leadoff hitter in the ninth inning."
After Infante's hit, Kluber got out of the inning when Alex Gordon struck out, and Infante was thrown out trying to steal second.
Kluber, who allowed only one unearned run in nine innings, struck out 10 and walked none.
"I wish we'd had some runs so we could sit back and really enjoy it, because that was special," Indians manager Terry Francona said of Kluber's performance. "You can use all the adjectives you want. He had dominating stuff."
Royals starter Danny Duffy, who was 1-5 in his previous six starts, gave up two singles -- both to Santana -- in seven scoreless innings. Duffy, who also walked two, was pulled after 108 pitches.
Duffy lowered his earned run average to 2.47. He is the only American League pitcher with a losing record with an ERA less than three.
Wade Davis, who replaced Duffy, pitched out of a bases loaded jam in the eighth. With one out, he permitted singles to Jose Ramirez and pinch-hitter David Murphy sandwiched around a walk to Jason Kipnis. Davis then got Michael Brantley to ground into an inning-ending double play.
ATHLETICS 13, ASTROS 1
OAKLAND, Calif. -- Brandon Moss hit a grand slam and the Oakland Athletics gave Jeff Samardzija more run support Thursday than he has had all season in a 13-1 victory over the Houston Astros.
Jed Lowrie had three hits and drove in a run for the A's, who have the best record (63-38) in baseball and are a season-best 25 games over .500.
Chris Carter hit a home run for the Astros, who fell to 2-4 since the All-Star Break.
Samardzija (2-1) gave up a leadoff single to Jose Altuve and then retired 10 straight before Carter's 20th home run put Houston on the board. He did not walk a batter and struck out six.
Scott Feldman (4-8) lost his straight start, lasting 5 1-3 innings. He allowed six runs on nine hits, walking five and striking out four.
Patrick Henry grad Marc Krauss went 1-4 bringing his season batting average to .178.
YANKEES 4, RANGERS 2
NEW YORK -- Brandon McCarthy threw six more solid innings, fellow newcomer Chase Headley delivered another timely hit and the Yankees beat the Rangers for their sixth win in seven games.
Brett Gardner doubled, scored a run and drove in one as the Yankees kept up their push since the All-Star break.
Texas fell to 3-17 in July and dropped 22 games under .500 for the first time since the final week of the 1988 season.
McCarthy improved to 2-0 with a 1.45 ERA in three starts since the Yankees got him in a deal with Arizona earlier this month.
Colby Lewis (6-8) gave up three runs and four hits in 6 1-3 innings.
BLUE JAYS 8, RED SOX 0
TORONTO -- Marcus Stroman and two relievers combined on a one-hitter, Juan Francisco drove in four runs and came within a double of the cycle and the Blue Jays shut out the Red Sox.
Stroman's no-hit bid ended when Shane Victorino blooped a single to center to lead off the seventh. One out later, Victorino was erased on Mike Napoli's double-play grounder.
Stroman (6-2) only allowed two other baserunners on walks and struck out seven in seven innings. The rookie right-hander is 5-1 with an 1.54 ERA in seven home starts.
Todd Redmond worked the eighth and Rob Rasmussen finished.
Red Sox right-hander Rubby De La Rosa (3-3) allowed seven runs, six earned, in a season-low four-plus innings, raising his ERA from 2.64 to 3.54.
PHILLIES 2, GIANTS 1
PHILADELPHIA -- Cole Hamels pitched eight strong innings and Chase Utley had a tiebreaking single in the fifth inning to lift the Phillies over the Giants.
Hamels (5-5) got the better of Tim Hudson in a matchup between starters who have combined for seven All-Star appearances. The Philadelphia left-hander gave up six hits while striking out 10 and walking one.
Hudson (8-7) gave up two runs in six innings although both were unearned. The right-hander struck out six and walked two.
The Giants, who were looking for their first four-game sweep in Philadelphia since 1998, lost for just the second time in eight games.
MARLINS 3, BRAVES 2
ATLANTA -- Jarrod Saltalamacchia drove in the go-ahead run in the ninth inning, Henderson Alvarez won for the first time in three starts and Miami beat Atlanta.
In taking three of four games, the Marlins won just their second road series in the last 10 against the Braves.
Alvarez (7-5) gave up six hits, two runs and one walk with four strikeouts in eight innings. The Marlins are 13-3 in his last 16 starts.
Braves closer Craig Kimbrel (0-2), pitching in a non-save situation with the game tied 2-2 to begin the ninth, struck out Garrett Jones and had Marcell Ozuna struck out, too, but a wild pitch bounced away from catcher Evan Gattis. Ozuna advanced to second on another wild pitch and scored on the single to center.
Saltalamacchia went 3 for 4 with two doubles.
Steve Cishek earned his 24th save in 27 chances.
WHITE SOX 5, TWINS 2
MINNEAPOLIS -- Hector Noesi allowed three hits over 7 2-3 innings and Adam Eaton had three hits and two RBIs to lead the Chicago White Sox over Minnesota.
Noesi (5-7) gave up two runs, struck out three and walked one. Alexei Ramirez added two hits and an RBI for Chicago and Jake Petricka went one inning to earn his fifth save in six chances.
Phil Hughes (10-7) gave up two runs and four hits and struck out four for the Twins. But he left the game with a right shin contusion in the fourth inning when he was hit by a chopper off the bat of Adam Dunn.
Danny Santana hit a two-run homer in the eighth inning for the Twins.
ORIOLES 4, MARINERS 0
SEATTLE (AP) -- Wie-Yen Chen allowed five hits over eight innings, and Delmon Young hit a three-run homer to give Baltimore a victory over Seattle.
Chen (11-3), who has won his past four starts, scattered five singles, walked one and struck out three. His 11 wins tie him for third-most in American League. On the road, Chen is 6-1 with a 3.94 ERA in nine starts.
Darren O'Day finished with a routine ninth inning.
It was Baltimore's eighth shutout. The Mariners have been shut out 12 times, tying Tampa Bay for the most in the American League.
Hisashi Iwakuma (8-5), who had won his previous three decisions, lost for the first time since June 25. He went seven innings, allowing four runs and seven hits.
PADRES 13, CUBS 3
CHICAGO-- Tyson Ross struck out a career-high 11, and light-hitting San Diego broke out for a season-best nine runs in the sixth inning in a rout of the Chicago Cubs.
Ross (9-10) allowed one run, five hits and one walk in six innings to reach a career high in wins. He went 3-2 in five July starts, but gave up just four earned runs in 35 innings.
Rene Rivera had three hits, including a home run, and drove in three runs. Will Venable had three hits and two RBIs, and Alexi Amarista and Chris Nelson also drove in two runs apiece with singles in the sixth-inning outburst that gave the Padres their highest scoring output this season.
San Diego led 3-1 entering the sixth, but after the first two Padres reached base, Cubs starter Edwin Jackson (5-11) was pulled because of cramping in his right hand.
The first nine Padres reached as San Diego, which carried an MLB-worst .215 batting average into the game, sent 15 men to the plate.
Chicago lost for the 13th time in 16 games.
BREWERS 9, METS 1
MILWAUKEE -- Matt Garza allowed two hits over eight innings to rebound from a horrendous outing, and Ryan Braun hit one of three homers for Milwaukee in a victory over the New York Mets.
Jonathan Lucroy and Khris Davis also connected for the Brewers, who took a 6-0 lead after three innings against Dillon Gee (4-3) to win their fourth consecutive game.
Garza (7-7) gave up five runs in just one-third of an inning Saturday at Washington, the shortest start of his career.
The Mets sent 31 batters to the plate, four over the minimum.
Milwaukee limped into the All-Star break, losing 11 of 13 games. They have won five of seven games since then to open a three-game lead over the St. Louis Cardinals and Pittsburgh Pirates in the NL Central.
Lucas Duda hit his career-high 16th homer for the Mets.
Gee lasted only five innings for the second consecutive start and allowed six runs, the most he's given up all season.