The Red Sox saw their lead over Tampa Bay trimmed to two games in the American League East.
Chen, in his 15th major league season, improved to 5-0 in five starts and 19 relief appearances this year. He allowed five hits, walked one and struck out two while throwing 108 pitches.
Kansas City benefited from a fielding error by Jonny Gomes in left during the opening inning, a miscue that allowed Lorenzo Cain to score the Royals' first run.
The only Boston run came in the ninth off Luke Hochevar.
Jon Lester (10-7) took the loss, allowing the three first-inning runs on four hits in a seven-inning effort. Only one of the runs was earned.