Sale (2-0) struck out six and walked one. In his previous four starts against the Royals, the White Sox had backed him with one run, enough to beat James Shields 1-0 in the 2012 opener.
Shields (0-1) took the loss in this one, too, giving up a run on five hits, striking out six, walking none and hitting two batters in seven innings.
Sale allowed a runner past second only in the third inning, when Lorenzo Cain and Omar Infante singled and Ramirez committed a throwing error. Sale wiggled out of trouble by retiring Danny Valencia on a pop up. Cain had two of the hits off Sale.
The Royals won their first replay challenge of the season when Marcus Semien was ruled safe at first, but it was overturned on a review that took 68 seconds. White Sox manager Robin Ventura challenged that Hosmer was out at first to complete a double play in the sixth, but replays indicated he was safe.
Plate umpire Greg Gibson issued a warning to both benches in the sixth when Infante had to jump out of the way of Sale's pitch way inside after Shields had hit two batters, including Jose Abreu in the top of the inning.
Notes: White Sox 2B Gordon Beckham, who is on the disabled list with a left oblique strain, has been shut down after one game from a minor league rehab assignment with Double-A Birmingham, still feeling tenderness when he swings. . The White Sox starting lineup Saturday included four Cuban-born players: C Adrian Nieto, RF Dayan Viciedo, SS Alexei Ramirez and Abreu. The last team to start four Cubans were the Indians on April 8, 1969 - SS Zolio Versalles, RHP Luis Tiant, CF Jose Cardenal and C Joe Azcue. .The Royals will start LHP Jason Vargas against Tampa Bay on Monday, while the Rays' probable is LHP Matt Moore. .The White Sox will start RHP Felipe Paulino for the series opener at Colorado. RHP Jordan Lyles will be the Rockies starter.