CHICAGO — Welington Castillo said everything he wanted to say with one big swing.
Castillo atoned for an error with a two-run homer in the eighth inning, and the Chicago White Sox rallied to beat the Kansas City Royals 5-4 on Monday night.
Castillo's poor throw on Billy Hamilton's steal in the seventh helped set up Whit Merrifield's tiebreaking sacrifice fly. But Castillo came up big after Tim Anderson led off the eighth with a double against Brad Boxberger (0-3), sending an opposite-field drive to right.
"Great moment for him and even better moment for the team," Anderson said.
It was Castillo's first homer since he was suspended last May for 80 games by Major League Baseball following a positive test for a performance-enhancing substance. He was just 2 for 27 before his first extra-base hit of the season.
Castillo left the clubhouse without talking to the media, but manager Rick Renteria praised the veteran catcher for his work with Ervin Santana and the clutch homer at the end.
"The guys just kept chipping away," Renteria said.
Kansas City dropped to 4-3 this season when leading after seven innings. It has lost six of its seven one-run games.
Boxberger has allowed at least one run in three of his last four outings.
"I'm unbelievably frustrated," he said. "I mean, every outing this year has kind of been a different one for me, a lot of feeling around, trying to find out what's going on."
The White Sox returned home with a little momentum after taking two of three from the Yankees in New York over the weekend.
Manny Bañuelos (1-0) pitched three hitless innings for his first win since 2015, and Alex Colomé worked the ninth for his fourth save in four chances and No. 100 for his career. Anderson had three hits and scored twice, lifting his average to a major league-leading .453.
Hunter Dozier and Chris Owings homered for Kansas City, which was coming off a three-game sweep of Cleveland, the AL Central favorites.
Dozier put Kansas City in front when he drove Santana's first pitch of the second over the wall in center for his fourth homer. After Ryan O'Hearn flied out, Lucas Duda worked the first of his three walks and Owings connected for his first homer of the season, giving the Royals a 3-0 lead.
Dozier also doubled in the third for his fifth consecutive multihit game, one day after he singled in the winning run in Kansas City's 9-8 victory over Cleveland. He is batting .522 (12 for 23) with three homers and five RBIs in his last six games.
Heath Fillmyer cruised into the fifth for Kansas City but came unglued a bit after Chicago had two successful replay challenges. The second one overturned an inning-ending double play and got the White Sox on the board, with Anderson scoring from second on Yolmer Sanchez's grounder to second.
"If the ball was hit just a little bit harder, we would have turned the double play and got (Fillmyer) out of that inning, and he might have been able to continue to roll," Royals manager Ned Yost said.
Leury Garcia then doubled in Sanchez and Yoán Moncada dumped a tying RBI single into right field. The White Sox had a chance for more after Fillmyer hit José Abreu with a pitch, but Yonder Alonso flied out to end the inning.
Colomé was acquired in a November trade with Seattle. He has a 2.57 ERA in seven appearances in his first season with the White Sox.
He said he was proud of reaching 100 career saves.
"I'm very happy to have the opportunity to pitch in those situations," he said through a translator. "That's what I like. I feel very good and I'm glad that I have this opportunity here because those sorts of situations are where I like to pitch."
White Sox outfielder Jon Jay (strained right hip) played catch in the outfield. Jay was placed on the 10-day injured list during spring training. "He's progressing," manager Rick Renteria said. "He's doing better."
Royals right-hander Jorge López and White Sox right-hander Reynaldo López get the ball Tuesday night.
Jorge López (0-1, 3.71 ERA) pitched six innings of two-run ball in a no-decision against the Mariners in his previous start. Reynaldo López (0-2, 12.15 ERA) has struggled so far this year, allowing 22 hits in 13⅓ innings over three starts.