A two-out, two-run double by Emmanuel Rivera in the first inning put Keuchel in a hole, but he deserved better.
Trying to prevent the Sox from falling to 9-11 since the All-Star break, Keuchel did his part.
Keuchel, 33, the 2015 AL Cy Young Award winner and the only Sox starter not taking extra rest this time through the rotation, pitched to a 6.26 ERA in July.
“I’ve just got to be better.
In the first inning Thursday against Royals lefty Daniel Lynch, Jose Abreu homered for the second time in two nights and the 20th time this season.
The Sox put the leadoff man on base in the fourth, fifth and sixth but didn’t score.
Reynaldo Lopez relieved Keuchel and served up a homer to Edward Olivares in the seventh, giving the Royals a 3-1 lead.
Eloy Jimenez, who’s 3-for-22 since coming off the injured list, doubled Cesar Hernandez home in the eighth to make it 3-2.
Robin Robinson, a local Fox anchor for decades, is a member of The Homecoming Group, which scored a permit in the Chicago region.