CHICAGO -- Since returning from the disabled list last month, Nicky Delmonico had been searching for rhythm and consistency at the plate.
He found both Friday night.
Delmonico went 2 for 4 and had a career-high five RBI. Before Friday, he was 8 for 44 (.182) with 17 strikeouts in his last 14 games.
"I felt good today," said Delmonico, who spent two months on the DL with a broken hand. "I feel like I'm starting to get my rhythm back and not trying to do too much."
Tim Anderson went 3 for 3 with a walk and two stolen bases for Chicago.
Abreu's homer was his 22nd. The White Sox have homered in a season-high nine straight games, totaling 13 during that stretch.
James Shields (5-14) allowed three runs on six hits in seven innings to snap a five-start winless streak. He last win was on July 13, also against Kansas City.
Whit Merrifield went 2 for 2 with two walks and an RBI for the Royals.
Yoan Moncada, who was inserted back into the leadoff spot on Friday, started the rally in the seventh with a walk. Yolmer Sanchez then followed with a slow grounder to shortstop that Alcides Escobar booted for an error -- snapping the Royals' 16-game errorless streak.
"You can't throw belt-high fastballs down the middle to Abreu," Royals manager Ned Yost said. "He can hammer it. Jason's been throwing the ball good for us. Tonight he was just center-cutting a lot of fastballs."
Chicago wasn't through. After Matt Davidson struck out for the first out, Leury Garcia singled and stole second. After Omar Narvaez walked, Anderson singled to drive in Garcia and make it 6-3. Delmonico then followed with his three-run blast into the right-field bleachers.
"I was just looking for a pitch to jump on early and he grooved me a fastball," Delmonico said.
Chicago pulled within 3-2 with a run in the fourth and sixth.
White Sox RF Avisail Garcia was pulled after the second for not running out a short pop fly to right field on the last out of the first. Garcia played the field in the second and then was replaced.
"I didn't think he gave me an effort on the Texas leaguer," manager Rick Renteria said.
Garcia, who's dealing with a nagging knee injury, said he felt a click in his knee and that's why he didn't run hard.
White Sox C Welington Castillo began a rehab assignment with Triple-A Charlotte on Friday, going 1 for 4 as the DH in a 4-3, 10-inning loss to Louisville. Castillo, 31, was suspended for 80 games on May 24 for violating MLB's drug policy. He is eligible to return to the majors on Thursday when Chicago begins a four-game series at Detroit.
Renteria said Castillo will resume his role as the No. 1 catcher if he's physically up to the task.
Royals: OF Brian Goodwin (left groin strain) continued his rehab assignment with Triple-A Omaha as the DH on Friday. After a day off on Saturday, the plan is for Goodwin to play five innings in the outfield on Sunday.
White Sox: Leury Garcia (strained left hamstring) was activated from the 10-day DL before the game. He entered in the third inning, replacing Avisail Garcia. OF Ryan LaMarre was optioned to Triple-A Charlotte following Wednesday's game at Detroit, opening the roster spot.
Chicago RHP Dylan Covey (4-9, 6.06 ERA) looks to snap out of an extended rough stretch on Saturday night in the second game of the series. Covey is 1-8 with an 8.94 ERA in his last 10 starts. RHP Brad Keller (5-5, 3.40) pitches for the Royals after allowing just one run in seven innings against Toronto in last start on Monday.
More AP MLB: https://apnews.com/tag/MLB and https://twitter.com/AP-Sports
Ichiro's groundbreaking MLB career
Take a look back at Ichiro Suzuki's incredible MLB career, collecting over 3,000 hits and winning both the 2001 AL Rookie of the Year and MVP Awards.
Ichiro walks off to loud cheers, Mariners beat A's 5-4 in 12
Ichiro Suzuki was showered with cheers and chants while taking what appeared to be his final bow in a magnificent career that lasted nearly three decades Thursday night when the Seattle Mariners beat the Oakland Athletics 5-4 in 12 innings.
High throw gives Mariners the lead in the 12th
Domingo Santana hits into a potential double play, but the throw to first is high and Dee Gordon scores to put the Mariners ahead in the 12th.
How many complete games will be thrown in 2019? Thirty? Ten? None?
You might see the last complete game ever in your lifetime. Here's why -- and what it means for the coming MLB season.
'A magician with a bat in his hands': Untold stories as Ichiro retires
Tim Kurkjian shares a few favorite tales on the day the world's all-time hit king played his final major league game.
Keith Law's MLB breakout players for 2019
They aren't rookies, but these hitters and pitchers are primed to bust out and deliver bigger results in the new season.