Crawford and Bartlett both finished with three hits, with Bartlett also getting a walk but coming up a homer short of the cycle.
Willy Aybar homered twice and Carlos Pena hit a two-run single as the Rays won for the fourth time in their last six games and pulled within 5 1/2 games of the first-place New York Yankees in the American League East.
Winner Scott Kazmir (6-6) gave up three runs on six hits. He struck out five in six-plus innings.
Miguel Olivo and Yuniesky Betancourt each went 2-for-4 with a run batted in for the Royals, who have lost five of six.
Zack Greinke (10-7), who began the game with a majors-best 2.08 ERA, gave six runs on a season-high 10 hits three walks in five innings.
Copyright 2009 by United Press International.