"I was able to get a pitch up and drive it," Gomes said. "[Danny] Duffy, we all know, he's a tremendous pitcher. Once he settles in, he's hard to beat. I felt like we were maybe chasing him a little bit instead of letting him come to us."
Gomes had chances to make his mark earlier in the game, but fell behind Duffy both times. In the first, after Cleveland had rallied for two runs off the Kansas City starter and had runners on first and second, Gomes couldn't keep the line moving, as he flied out to end the frame. In the fourth, after a Duffy wild pitch advanced Yonder Alonso to second, Gomes stifled the momentum again by grounding out to third.
He wouldn't let Duffy win the third time around, though. After laying off a slow curveball high and outside, Gomes sent a changeup over the left field wall and gave the Tribe the lead that would hold until the end.
The inning began with a walk to Edwin Encarnacion, Brandon Guyer getting hit by a pitch and Alonso reaching on an infield single. Then Duffy, nearing 100 pitches, left that changeup out there for Gomes, who turned on it to clear the bases.
The blast traveled an estimated 369 feet, according to Statcast™, and left Gomes' bat with an exit velocity of 104.8 mph. It was his third career grand slam, and his first of the 2018 campaign. The Tribe has now hit eight slams on the season.
Shane Bieber got into trouble early when he allowed a two-run homer to Lucas Duda in the first. The damage continued in the second, when Whit Merrifield drove in Adalberto Mondesi with a single, and then was knocked in himself on a Rosell Herrera double.
It was not too late for Bieber to say sorry, however, as he flipped the switch and was steady after those two frames. He allowed nine hits and four runs in his six innings of work.
"Early on, it was a real struggle," manager Terry Francona said of his starter. "Especially with his secondary pitches ... they were kind of flat. Then as the game got going, he actually kind of got into a groove and threw the ball much better."
Bieber was making just his fifth start in the Major Leagues, so his ability to keep his composure after a rocky start despite his inexperience was impressive to Francona.
"For a younger kid that's not very experienced, he has a ton of poise," Francona said. "He could've cracked and gave up six or seven and we're out of the game, but he didn't. He kept us in it, and gave us a chance to win."
Cody Allen came in with two outs in the eighth to escape a jam, and picked up a four-out save. That gave him No. 139 of his career with the Indians, which ties Bob Wickman for the all-time franchise lead.
"It's an unbelievable honor. It's something I definitely don't take lightly," Allen said. "But like I said, it's an effort by a lot of people … it's a testament to the quality of pitchers we have in the bullpen, our starting rotation, just how good of a team that we've had the last six or seven years I've been here."
Guyer exited the game in the ninth inning after fouling a ball off his left knee and crumpling to the ground in the batter's box. X-rays came back negative, however, and Francona said they would reevaluate his condition tomorrow.
YOU GOTTA SEE THIS When Jorge Bonifacio lined the ball to right with two outs and a runner on second in the fifth, Guyer charged in and made a fantastic catch while falling forward to save a run from scoring.
"He willed himself to catch that ball," Francona said.
MITEL REPLAY OF THE DAY The Indians' lead was in danger in the eighth when Hunter Dozier singled up the middle, and Salvador Perez took off from second. Perez appeared to be hung out to dry after running through the stop sign, but Lindor, who was serving as the cutoff man, was caught off guard by Perez's decision, which created a play at the plate.
"When I looked at first, I saw [Royals third base coach Mike Jirschele] sending him," Lindor explained. "So I was like, 'OK, he's going to score.' I was just trying to keep the guy from going to third, so I set up to throw to third. As I'm catching the ball, I hear Gonzalez saying, 'Four! Four! Four! Four!' so that's when I threw to home plate."
Lindor's delayed throw was initially ruled to be behind Perez's delayed attempt at coming home, but he was confident enough that the inning was over to run into the dugout. After the replay review, it was determined that his throw had indeed beaten Perez to the plate, the call was overturned and the Tribe's lead remained at two.
UP NEXT Right-hander Trevor Bauer (7-6, 2.45 ERA) will close the series out for the Tribe at Kauffman Stadium on Wednesday at 8:15 p.m. ET. Bauer has historically been sharp against the Royals, as his 3.39 career ERA against them is the third best among teams he's faced more than five times. No starting pitcher for Kansas City has been announced, as scheduled starter Ian Kennedy (1-8, 5.11 ERA) was placed on the 10-day disabled list during the game.
Jordan Wolf is a reporter for MLB.com based in Kansas City.