KANSAS CITY, Mo. (AP) - Brandon Moss gave the Kansas City Royals an early lead, and rookie Scott Alexander made it hold up in a tense ninth inning.
Moss hit a grand slam in the first Tuesday for his third consecutive game with a homer, leading the Royals to a 4-3 victory over the Chicago White Sox.
Alexander worked out of a ninth-inning jam for his fourth save in six chances. He yielded a double to Adam Engel and a single to Yolmer Sanchez to lead off the inning. He struck out Yoan Moncada, retired Jose Abreu on a pop to Whit Merrifield and got pinch hitter Matt Davidson on a grounder to end the game.
"I was just trying to get outs any way I can," Alexander said. "In that situation, such a great game, everybody played great, you don't want to be the one to blow it. I was just doing everything I can to keep that run from scoring or at least not give up the lead."
White Sox rookie Dylan Covey (0-5) walked the bases loaded in the opening inning before Moss drove a full-count fastball to right-center.
It was Moss's fourth career grand slam and his first since July 24, 2014. He has nine RBIs in his past three games.
"I don't think you can ever go up to the plate with the bases loaded and not be excited," Moss said. "That's always a fun situation to hit in. The ultimate goal is always a grand slam. You don't hit with the bases loaded very often. You're trying to get a pitch to drive."
Covey allowed just one more hit, a double to Eric Hosmer to lead off the sixth, before leaving after 5 2/3 innings. He threw 34 of his 83 pitches in the first inning and walked only one, Moss in the fourth, after the first.
"I was struggling with command early on," Covey said. "You'd like to make the adjustment the next pitch, but it came a little later for me. It was halfway through the Moss at-bat when I started to get a little bit of rhythm. Unfortunately he got hold of one, but it was the walks that did me in."
Sam Gaviglio (4-5) picked up his first Royals victory in his second start after being picked up on waivers Sept. 1 from Seattle. He yielded two runs on seven hits over five innings.
Sanchez's double in the third scored Rymer Liriano, who had singled and stole second, for the first White Sox run.
Delmonico and Avisail Garcia led off the White Sox fourth with singles. Tim Anderson's one-out single scored Delmonico and advanced Garcia to third. Anderson swiped second, his 10th stolen base in 11 attempts. Gaviglio prevented further damage by striking out Lirano and retiring Engel on a grounder.
The White Sox trimmed the lead to one run in the eighth when Rob Brantly's double off Peter Moylan scored Delmonico.
"We got down early, but our starter bounces back and gives us a great rest of the game," Engel said. "He really settled in. The offense chipped away, and we put ourselves in a good situation there late."
The White Sox and Royals will start the 2018 season on March 29 at Kauffman Stadium.
The announced attendance of 17,727 was the smallest for a Royals' home game this season.
ROYALS ADD MORIN
The Royals claimed RHP Mike Morin off waivers from the Angels. He was 0-0 with a 6.91 ERA in 10 relief appearances this season with the Angels. He spent most of the season with Triple-A Salt Lake, where he was 0-1 with a 3.20 ERA in 22 games. Morin, 26, went to Shawnee Mission South High, a Kansas City suburb, and was drafted in the 40th round in 2009, but chose to go to North Carolina. To make roster room for Morin, the Royals designated for assignment LHP Onelki Garcia, who was 0-1 with a 13.50 ERA in two appearances.
Royals: CF Lorenzo Cain (quads) and 3B Mike Moustakas (right knee) did not play. "We've had an off day planned for Cain and Moose for four or five days because this is a quick turnaround," Royals manager Ned Yost said of a noon game after a night game. "The training staff is here early. They're here early to do everything they can to get on the field." Paulo Orlando started in center and Cheslor Cuthbert at third base.
White Sox: RHP Lucas Giolito. He was ejected by plate umpire Gabe Morales in the sixth inning in his Friday start for arguing balls and strikes.
Royals: LHP Eric Skoglund. He has not pitched since Sept. 2 when he threw 81 pitches in three innings of relief against the Twins, giving up a three-run homer to Brian Dozier.