KANSAS CITY, Mo. -- The Kansas City Royals went from a one-hitter to clinging to a one-run lead with the bases loaded in the ninth and closer Kelvin Herrera exiting with an injury.
Danny Duffy did not allow a hit until there were two outs in the sixth inning, Scott Alexander closed out the ninth and the Royals escaped with a 3-2 victory over the Colorado Rockies on Tuesday night.
Nolan Arenado's two-run homer off Duffy with DJ LeMahieu, who had walked, aboard spoiled the no-hit bid.
"I knew he was going to start me off with a couple of off-speed pitches and then I was ready for something hard late, and I got it," Arenado said.
Mike Minor, Peter Moylan, Herrera and Alexander finished the victory.
Herrera left with two outs and the bases loaded in the ninth with tightness in his right forearm.
"They're checking him now to determine exactly what it is and the extent of it," Royals manager Ned Yost said. "I don't really know much more than that."
Alexander replaced Herrera, inheriting a 2-0 count, and was credited with his first major league save when Pat Valaika grounded into a fielder's choice.
"The story of the game was what Scott Alexander did," Duffy said. "That took some kind of guts. He did his thing. He deserves to be there. He's a stud."
Alexander, a rookie left-hander, has 21 saves in the minors, 14 of them in 2015 with Double-A Northwest Arkansas.
"Just trying to throw strikes," Alexander said of the tough situation he was placed in the ninth. "I want to keep my sinker going and hopefully get a ground ball."
He got it and the save.
"That's a tough spot to put somebody in, a 2-0 count, bases loaded, tying run at third, winning run at second," Royals manager Ned Yost said.
Duffy (8-8) was pulled after six innings and 88 pitches, 60 for strikes. He walked three and struck out seven.
Jon Gray (5-3) gave up three runs (two earned), six hits and a walk in 6 2/3 innings. He struck out six.
"I didn't throw a lot of first-pitch fastballs," Gray said. "We mixed a lot of back-door curveballs and sliders to start off the lefties and we even went first-pitch slider, curveball on some righties. So, we had it mixed pretty well."
The Royals scored an unearned run in the first inning.
Whit Merrifield led off with a single to right and swiped second base. He advanced to third on Melky Cabrera's groundout and scored on a two-out passed ball charged to Jonathan Lucroy with Eric Hosmer at the plate.
The Royals hiked their advantage to 3-0 in the fourth.
Cabrera started it with a one-out triple into the right-field corner and scored on Hosmer's infield single. Shortstop Trevor Story threw home on Hosmer's slow roller, but Cabrera slid in ahead of the tag.
Salvador Perez, in his first game back after being on the disabled list, drilled a first-pitch double to the right-center gap, scoring Hosmer from first.
"They didn't hit the ball hard off Jon," Rockies manager Buddy Black said. "Jon hung in there, pitched into the seventh inning, which we like to see. We want to see Jon continue to grow as a pitcher and give us those types of outings where he's giving us pitches in the seventh and hopefully in the future he's throwing pitches in the eighth.
"But, three runs, on most nights, is good enough to give us a chance to win, which we had a chance to win tonight."
Duffy walked Arenado with two outs in the first, Story with two outs in the fifth and LeMahieu with two outs in the sixth. Arenado followed with his 28th homer of the season.
NOTES: The Royals activated C Salvador Perez, who had a right intercostal strain, from the disabled list. They optioned C Cam Gallagher to Triple-A Omaha. ... The Rockies recalled C Tony Wolters and OF Raimel Tapia from Triple-A Albuquerque. They placed C Ryan Hanigan on the 10-day DL with a left groin strain and optioned OF Mike Tauchman to Albuquerque. ... Rockies LF Gerardo Parra was scratched with a bruised right thigh, but walked as a pinch hitter in the ninth. ... Rockies RHP Antonio Senzatela (10-4, 4.56 ERA) and Royals RHP Ian Kennedy (4-9, 5.06) are the Wednesday probables.