KANSAS CITY, Mo. -- Alejandro De Aza's ninth-inning sacrifice fly drove in the go-ahead run as the Chicago White Sox beat the Kansas City Royals, 3-2, on Saturday at Kauffman Stadium.
Dayan Viciedo singled up the middle and Jeff Keppinger walked leading off the ninth against Aaron Crow (3-3).
Pinch-hitter Gordon Beckham's fly to deep right-center field moved pinch-runner Jordan Danks to third with one out before De Aza hit a sacrifice fly to right field against Greg Holland, scoring Danks.
Addison Reed closed out the Royals with a perfect ninth inning to pick up his 21st save in 23 chances.
Chicago has won three consecutive games at Kauffman Stadium for the first time since winning five straight from May 29 to July 3, 2009.
Kansas City has lost four in a row, its longest losing streak since dropping eight straight from May 22-29.
The Royals grabbed a 1-0 lead when Miguel Tejada singled with two out in the second and scored on Mike Moustaka's double to right-center field.
Jose Quintana settled in after that, retiring 10 of the next 11 hitters, allowing only an infield hit to Eric Hosmer in the third.
Wade Davis allowed leadoff runners to reach base in the second, third and fourth innings, but pitched out of trouble until the fourth, when the White Sox plated two runs.
Adam Dunn walked to start the frame inning before Paul Konerko and Conor Gillaspie hit ground-ball singles to center, scoring Dunn. With two out, Keppinger's looping liner to right brought in Gillaspie for a 2-1 Chicago lead.
Kansas City tied the game, 2-2, when Alcides Escobar doubled over third base to lead off the sixth and scored on Salvador Perez's single to left.
After Billy Butler walked, Matt Lindstrom replaced Quintana and induced a double-play grounder from Lorenzo Cain on the first pitch.
Quintana went 5 1/3 innings, allowing two runs on five hits and one walk while striking out four. It was Quintana's fifth straight no-decision; he leads the majors with 10 no-decisions in his 15 starts.
The Royals failed to capitalize in the eighth when Hosmer tripled on a misplayed fly to right-center field with one-out. Jesse Crain (2-1) got Perez to pop out and, after Butler walked, he struck out Cain to end the threat.
Davis matched his longest outing of the season with seven innings, allowing two runs on eight hits and two walks while striking out six.
Davis, coming off a win at Tampa Bay in his previous start June 16, has not won consecutive starts since April 10 and 17, his second and third starts of the season.
NOTES: Of Chicago's first 72 games, 57 (79.2 percent) have been decided by fewer than four runs, including 18 of their last 21. The White Sox also have played 26 one-run games, second most in the American League, and 11 extra-inning games, third most in the majors. Cincinnati and Colorado have played 12 each. ... Despite allowing nine runs, all earned, against Chicago on Friday, Kansas City leads the AL with a 3.49 ERA. In June, while the club has gone 12-7, the Royals' ERA is 2.53 (50 earned runs in 178 innings), second-best behind Toronto (2.28). ... Chicago has lost 15 of its last 19 road games and 17 of the last 24 overall, falling a season-high 12 games under .500 before Friday's win at Kansas City. ... One year after having the second-most used bullpen in the majors (behind Colorado), the Royals have the most rested bullpen, having been used for 184 innings (ahead of Philadelphia at 191 2/3 bullpen innings and Detroit at 204.0). Royals starters have gone at least six innings in 53 games through 72 starts; in 2012 they didn't reach that mark until game 118 on August 11.