KANSAS CITY, Mo. -- Jarrod Dyson is not exactly known for his power after hitting seven major league homers in five seasons.
Dyson had none this season and no career grand slams, but that ended Monday night.
Christian Colon tied the game with an eighth-inning, pinch-hit double, and Dyson capped off the seven-run frame with a grand slam as the Kansas City Royals topped the Cleveland Indians 7-3 Monday night.
The Indians took a 2-0 lead into the eighth, but starter Corey Kluber left before the inning began due to a right leg cramp.
Cleveland relievers Bryan Shaw (1-4) and Jeff Manship promptly surrendered seven runs as the Royals sent 10 men to the plate.
Colon's double scored Eric Hosmer and Alcides Escobar, but Colon was thrown out trying to make it to third.
"I hit it good enough where it got into the gap," Colon said. "I was trying to pull it since there was a big hole."
Colon batted for designated hitter Kendrys Morales, who sustained a bruised right foot after fouling a pitch off it in the fifth inning. X-rays came back negative.
With two outs, Alex Gordon and Cheslor Cuthbert walked. Manship was summoned to replace Shaw, but yielded a single to Paulo Orlando to put the Royals ahead 3-2.
After Whit Merrifield walked, Dyson drove Manship's first pitch into the right field seats.
"It couldn't happen without my teammates in front of me, keeping the line moving," Dyson said. "I was just trying to get a good pitch to drive, that's about it.
"... I knew it was gone. It felt great off the bat."
Royals manager Ned Yost added, "Dyson's got deceiving power. He's a little guy, but a strong little guy."
Manship allowed two of Shaw's runners to score and two of his own, retiring only one of the four batters he face.
"It was just an inexcusable outing," Manship said. "It was pathetic, really, plain and simple. Just all over the place, not keeping balls down."
In seven scoreless innings, Kluber held the Royals to five hits and three walks while striking out eight.
"I thought he was tremendous," Indians manager Terry Francona said. "He looked like having the (All-Star) break was really good for him. He looked like his fastball -- I don't even know what the gun said -- but he was crisp, dotting his fastballs, good breaking ball."
Royals starter Edinson Volquez gave up two runs on four hits over seven innings in a no-decision. Luke Hochevar (2-2) worked the eighth to pick up the victory. Wade Davis got the final out, logging his 20th save.
Volquez began the game by striking out Carlos Santana, looking, and Jason Kipnis, swinging, on six pitches. Francisco Lindor, the third hitter, however, continues to torment the Royals, hitting a 1-1 pitch over the right field wall. It was his 11th homer and three are against the Royals. Lindor entered the game 17-for-37 (.459) against the Royals this season.
Volquez gave up a single to Tyler Naquin and walked Roberto Perez to start the second, but pitched out of that jam. Perez is hitless in his first eight at-bats this season, but has walked seven times.
The Royals loaded the bases in the third, but came away empty. Dyson laced a one-out triple to right that rolled to the wall. After Kluber struck out Escobar, he walked Hosmer and hit Morales with a pitch. The inning ended with third baseman Juan Uribe barehanding Salvador Perez's soft grounder and throwing him out at first.
The Indians tacked on a run in the fourth, when Jose Ramirez walked with one out and advanced to third on Lonnie Chisenhall's single to shallow center. Ramirez scored on Uribe's ground out to Cuthbert.
Cuthbert doubled with one out in the third, but was out trying for a triple. The Royals appealed, but after an 82-second delay, the call on the field was confirmed.
NOTES: Cleveland C Yan Gomes separated his shoulder Sunday and was placed on the disabled list Monday. He is projected to miss six to eight weeks. Indians C Roberto Perez, who had been on the DL with a right thumb injury, was activated and started. ... Kansas City claimed RHP Nick Tepesch, who went to nearby Missouri and Blue Springs (Mo.) High, off waivers from Oakland and optioned him to Triple-A Omaha. He is 9-8 with a 4.68 ERA in 43 big league appearances. ... The Royals moved RHP Kris Medlen to the 60-day disabled list. ... Kansas City 2B Whit Merrifield, who is hitting .192 in 13 games since June 28, returned to the lineup after missing two starts. ... LHP Brian Flynn (1-0, 2.39 ERA) makes his first start with the Royals on Tuesday. His last big league start came Aug. 7, 2014 with Miami. The Indians counter with All-Star RHP Danny Salazar.