Mike Jacobs had a three-run home run and Billy Butler, Alberto Callaspo and Alex Gordon drove in two runs apiece for the Royals, who erased an 8-2 deficit and earned their 11th win in 14 games.
Jason Bay had a three-run home run for the Red Sox, who lead Texas by 7 1/2 games in the AL wild-card chase, pending the outcome of the Rangers' game in Oakland Monday.
Victor Martinez had two RBI and ran his hitting streak to a career-best 20 games. Jacoby Ellsbury knocked in two runs for Boston.
Red Sox starter Tim Wakefield went five innings, allowing five runs on five hits with seven walks.
Royals' starter Lenny DiNardo allowed eight runs on 10 hits with six walks in five innings.
Yasuhiko Yabuta (2-1) got the win in relief for the Royals. Joakim Soria earned his 27th save.
Daniel Bard (2-2) took the loss for Boston.
Copyright 2009 by United Press International.