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
Votto hits 1st career leadoff homer in Reds' 4-1 win
Joey Votto hit his first career leadoff homer and Tucker Barnhart and Jesse Winker also connected for the Cincinnati Reds, who beat the San Diego Padres 4-1 Thursday night to snap a four-game losing streak.
Real or not? World Series hangovers are a bunch of nonsense
The Red Sox only wish they could cure their horrible start with a couple of aspirin and a long nap. History shows that's not the case.
Yankees hope to get back on track vs. Royals
Yankees hope to get back on track vs. Royals
McMahon homers twice, Rockies beat Phillies 6-2
Ryan McMahon homered twice and had five RBI in his return to the lineup and Kyle Freeland pitched six scoreless innings as the Colorado Rockies beat the Philadelphia Phillies 6-2 Thursday night.
Rickard's RBI double in 11th lifts Rays past Orioles 6-5
Joey Rickard drove in the winning run in the 11th inning with an RBI double, his fourth hit of the game, and the Baltimore Orioles beat the Tampa Bay Rays 6-5 on Thursday night.
Bellinger, Muncy, Urias lead Dodgers past Brewers 3-1
Cody Bellinger hit his 10th home run, Max Muncy also went deep, and Julio Urias struck out a career-high nine and allowed one hit in six strong innings as the Los Angeles Dodgers beat the Milwaukee Brewers 3-1 Thursday night to extend their winning...