The Royals improved to 18-5 since the All-Star break, winning every series. The last time they won seven straight series was 1991.
"It's huge," Royals manager Ned Yost said. "You can't understate it. The fact of the matter is that's nice, but it doesn't mean anything tomorrow.
"It's big, but you've got to keep plugging. I wouldn't classify it as a statement (series) win. But it's still the team with the best record came in and we won three out of four. We're playing great baseball right now. We just have to maintain our focus on that."
Shields (7-8), who had not won at Kauffman Stadium since an April 30 victory over Tampa Bay, limited the Red Sox to three runs and seven hits over seven innings. He struck out five and walked three.
"I feel like ever since the All-Star break, we've been making a statement," Shields said. "We're here to stay and compete. Our bullpen has been phenomenal. Our defense has been great. We're getting some good timely hitting."
Gordon hit a 2-2 pitch from John Lackey (7-10) out to right in the third inning for his third homer in five games.
"He went through a little down period about a week ago, but the last week he's been really swinging the bat really, really well," Yost said. "The thing about Alex is when he gets hot, he can carry you for a while."
Shane Victorino scored Boston's first run when he doubled in the first, stole third and came home on catcher Salvador Perez's errant pickoff throw.
The Royals scored two runs in the third, with Jarrod Dyson and Lough delivering RBI singles. Dyson's hit drove home Mike Moustakas, who doubled to start the inning. Dyson stole second and scored on Lough's flare to shallow right.
After a rocky start, Lackey lasted seven innings, giving up four runs and seven hits and two walks, while striking out five.
"It was a grind early," Lackey said. "I wasn't feeling really great. I had a couple of 3-2 counts and didn't make my pitch. I was lucky to get the ground ball for the double play in the first and then I found my groove and started to make my pitches."
"For me to walk two in one inning let alone to lead off the game is hard to believe. I didn't execute and I lost the game."
Ryan Lavarnway's two-out single in the sixth scored Daniel Nava and Stephen Drew, trimming the Kansas City lead to 4-3. Drew went 2 for 4 and is hitting .422 in his season-high, 12-game hitting streak.
Nava is convinced the Royals are a playoff contender.
"Of course," Nava said. "Everyone realizes with their offense and pitching it's just a matter of time before they click."
Royals relievers Tim Collins, Aaron Crow and Greg Holland, who earned his 32nd save in 34 opportunities, worked two scoreless innings to protect the one-run lead. The bullpen has allowed one run in 20 innings on this homestand.
- The Royals obtained IF Jamey Carroll from the Minnesota Twins in a trade after the game for a player to be named or cash considerations. Yost said Carroll would platoon with Chris Getz, when he returns from the disabled list, at second base and backup third and shortstop.
- IF Miguel Tejada, 39, was placed on the 15-day disabled list with a strained right calf as the Royals made seven roster moves. Perez came off the concussion list, while RHP Wade Davis was removed from the family emergency leave list and will start Monday against Miami. IF Irving Falu was recalled from Triple-A Omaha. LHP Donnie Joseph was optioned to Omaha, while C Brett Hayes was designated for assignment.
- Red Sox RHP Clay Buchholz, who was 9-0 with a 1.71 ERA before going on the disabled list June 9 with a neck strain, threw another side session Sunday and is scheduled to throw again Tuesday. "We'll get through Tuesday before we determine that," Red Sox manager John Farrell said of sending Buchholz out on a rehab assignment.
- Royals 2B Elliot Johnson is hitless in his past 27 at-bats and 1 for 49 since June 19.