"When you get to this type of scenario and you don't capitalize," manager Ned Yost said, "you get what happens today."
Kansas City had a runner on second and two out in the first. But Eric Hosmer struck out.
Hosmer had runners on first and second with two out in the fifth. He struck out again.
"He's tough," Hosmer said. "You try to be aggressive there, but there's a reason he's been a good pitcher all year and a Cy Young guy."
Alex Gordon had runners on first and second in the fourth after Lorenzo Cain already had homered to give the Royals a 1-0 lead. Keuchel appeared to be wobbling, and one big hit could have sent him reeling. Gordon got a hittable 2-0 fastball right down the middle, but he mistimed it -- he hit a broken-bat flyout to left.
"His velocity doesn't do him justice," Gordon said. "It gets in on you really quickly."
Mike Moustakas doubled with one out in the sixth. Salvador Perez jumped on a 2-0 fastball, and he just missed getting it all -- Perez drove it over 400 feet to center for an out. Gordon then struck out.
Kansas City threatened again in the seventh with Alex Rios on third and two out. But Cain chased a 3-2 fastball out of the zone for strike three.
"It was a two-seamer, and I was just too aggressive there," Cain said. "It was a ball."
The Royals threatened one last time in the ninth off closer Luke Gregerson when Gordon popped a leadoff homer, and with one out, Alcides Escobar singled, bringing the tying run to the plate. But Ben Zobrist grounded out sharply, and Cain -- again -- struck out.
Now Kansas City faces elimination, a remarkable 95-win season on the ropes.
"We're battling for our lives," Hosmer said. "But we've been there before, and if there's a group of guys who can get this done, it's us."
Gordon added calmly, "We can get it done. We've won two straight before."