KANSAS CITY, Mo. -- Adam Engel and Tyler Saladino, two batters hitting less than .200, combined to drive in three runs as the Chicago White Sox defeated the Kansas City Royals 5-3 on Wednesday afternoon.

Avisail Garcia and Jose Abreu drove in runs in the ninth to snap a 3-3 tie.

Garcia's single scored Yoan Moncada, while Abreu's sacrifice fly got Tim Anderson home.

Juan Minaya (3-2) earned the victory. Scott Alexander (4-4), who worked out of a ninth-inning jam Tuesday for a save, took the loss.

White Sox starter Lucas Giolito was removed after 6 1/3 innings, allowing one run on four hits.

Chicago jumped out to a 3-0 lead in the first three innings off Royals rookie left-hander Eric Skoglund.

Engel's double with two out in the second scored Saladino, who had walked, and Kevan Smith, who had singled. Both moved up a base on Salvador Perez's passed ball, making one of the runs unearned.

Saladino's two-out single in the third scored Garcia for the third White Sox run.

Skoglund was pulled after three innings, yielding three runs on five hits and two walks, to take the loss.

Salvador Perez homered in the sixth, his 25th, for the only run Giolito would allow. It landed in the Royals' bullpen, where Peter Moylan, who was warming up, caught the ball.

The Royals tied it in the eighth off Danny Farquhar. They scored two runs on three hits, a hit batter and a stolen base. Alcides Escobar's single scored Perez, who led off the inning with a single, for the first run. Terrance Gore, who ran for Brandon Moss, stole third and scored on Alex Gordon's ground out.

Kansas City loaded the bases with one out in the seventh on Gordon's single, which ended Giolito's afternoon, a walk to Whit Merrifield and Lorenzo Cain's single to center. Left-hander Aaron Bummer, the third Chicago pitcher of the inning, got out of the mess on four pitches. He retired Melky Cabrera on a first pitch fly ball to shallow center and Eric Hosmer on a ground ball to third.

The Royals threatened in the first, which Merrifield led off with a walk and promptly swiped second base, his 29th stolen base. Merrifield stopped at third on Cain's single to center.

With Cabrera at the plate and no outs, Kansas City attempted a curious double steal. With Cain running, White Sox shortstop Tim Anderson cut off the throw to second and threw home in time to get Merrifield. After Hosmer's two-out walk, Anderson made a leaping catch of Perez's line drive.

NOTES: Royals LHP Danny Duffy, who has missed 18 games with an elbow injury, will in all likelihood come off the disabled list and start Sunday against Cleveland. ... 3B Yolmer Sanchez did not start, but was used a pinch hitter in the eighth. Tyler Saladino replaced him, making his 13th start at third base. ... Royals RHP Joakim Soria is in Arizona to be with his wife for the birth of their third child on Thursday. ... The White Sox won for only the second time in their past 10 games against an AL Central opponent. Both victories were over the Royals.