CHICAGO -- The White Sox didn't completely break out of their offensive funk. But they scored just enough runs to win for the third time in 11 games.
Todd Frazier tied for the AL lead with his 13th home run, Melky Cabrera drove in two runs and the Chicago beat the Kansas City Royals 3-2 Sunday to avoid what would have been its first losing sweep this season.
"Hopefully, we can keep tacking on some more runs, because we still left a couple out there today that we could have easily gotten," Frazier said. "We're still focused and determined to get those in."
Carlos Rodon (2-4) allowed two runs and pitched into the seventh inning for his first victory since April 13.
"We didn't want to get swept during that series," Rodon said. "I came out and pitched the best I could and gave the team a chance to win. We did that today. All around good baseball."
David Robertson overcame dizziness to get three outs for his 11th save in 13 chances for the AL Central leaders.
Yordano Ventura (4-3) gave up three runs and six hits in six innings for the Royals, who were trying for their first road series sweep. He is 3-0 in four home starts but 1/3 in five road games.
Rodon allowed eight hits and struck out four in his first time facing Kansas City.
"His confidence grows as he goes along, of just who he is and where he belongs and how he's doing," White Sox manager Robin Ventura said.
Kansas City had four singles -- including Orlando's two-out RBI hit -- to take the lead in the second. Orlando drove in three of the Royals' eight runs in the series. He also doubled and is hitting .364 (20 for 55) in his career against Chicago.
Frazier's homer, which matched Baltimore's Mark Trumbo for the AL lead, brought Chicago even in the fourth.
Cabrera put the White Sox ahead with a two-run single in the fifth on an 0-2 pitch.
"We needed to win this game," Cabrera said.
The White Sox were 1 for 11 with runners in scoring position, dropping to 1 for 23 during the series.
"We've been scuffling with guys on base, especially with two outs," Ventura said.
Omar Infante had a sacrifice fly in the sixth.
"You always want to win the series. That's your No. 1 goal," Royals manager Ned Yost said. "You put yourself in a position to sweep them, but Rodon did a nice job of pitching today."
"I've been swinging at a lot of pitches out of the zone and that's not my approach," Abreu said through an interpreter.
Both right fielders made impressive defensive plays. Orlando robbed Austin Jackson of an extra-base hit with a runner on third in the sixth by making a catch against the wall. Chicago's Adam Eaton made a sliding catch in foul territory for the game's first out.
Royals: LF Alex Gordon (bruised right wrist) is day to day after he collided with 3B Mike Moustakas while they pursued a foul popup in the seventh. Both remained in the game, and Whit Merrifield pinch hit for Gordon the next inning.
White Sox: Ventura and a trainer checked on Robertson during the final batter in the ninth. Robertson said he felt dizziness but was doing fine after the game. . C Kevan Smith was reinstated from the 15-day disabled list and optioned to Triple-A Charlotte before Sunday's game. He was on the DL since April 26 (retroactive to April 24) with sacroiliac joint dysfunction. He has yet to play in the majors.
White Sox: RHP Mat Latos (5-1, 4.00) is to start a doubleheader opener Monday against Cleveland and RHP Mike Clevinger (0-0, 6.75). RHP Erik Johnson (0-1, 7.20) is to start the second game for Chicago against RHP Cody Anderson (0-3, 7.99).
Cubs use long ball to win 5th straight
The Cubs gets home runs from Jason Heyward, Jason Kipnis and Wilson Contreras to sweep the Royals and win their fifth straight.
Giolito, White Sox edge Brewers 3-2 for 6th straight victory
Kendrick homers, Soto dances, Nats beat Mets 5-3 in return
Star slugger Juan Soto danced on the dugout roof to celebrate solo shots by Howie Kendrick and Josh Harrison, and the Washington Nationals returned from a coronavirus-caused four-day break to beat the injury-depleted New York Mets 5-3 in a...
Kimbrel shaky again, Cubs hold off Royals for 5th win in row
Márquez strikes out 9, Rockies beat Giants 5-2
German Marquez struck out nine in efficiently throwing into the eighth inning and benefited from an overturned home-run call as the rolling Colorado Rockies beat the San Francisco Giants 5-2 on Tuesday night.
Jimenez takes a good look at his 428-foot homer
Eloy Jimenez lightly tosses his bat after he launches a 428-foot home run to center field.