BOSTON -- Knowing they've completely recovered from their rough first two months of the season, the Kansas City Royals are having a lot of fun.
Alex Gordon's two-run triple capped a four-run eighth inning, and the Royals rallied for a 5-3 victory over the Boston Red Sox on Sunday, a day after their season-high, nine-game winning streak was snapped.
Alcides Escobar added a two-run single in the eighth and drove in three runs for the Royals, who lost in extra innings on Saturday after taking the series opener.
"The vibes good right now," winning pitcher Jason Hammel said. "The vibes real good."
The Royals ended May in last in the AL Central - eight games under .500. They've taken off and now trail first-place Cleveland by two games after the Indians lost 3-1 to the White Sox in Chicago.
A few cheers went up in the clubhouse when the White Sox won.
Hammel (5-8) allowed three runs on seven hits to end a six-start winless streak. His last victory also came against the Red Sox, at home on June 19.
Shortstop Xander Bogaerts booted Lorenzo Cain's grounder for an error to open the eighth and Eric Hosmer had a hard single off the right hand and body of Matt Barnes (6-3). Salvador Perez then loaded the bases with a single.
"It opens the door, and then all of a sudden there's life instead of the potential of an out, nobody on, against a team that is aggressive, playing with a lot of momentum," Red Sox manager John Farrell said of the error.
Escobar followed with his game-tying single before Gordon greeted reliever Robby Scott with his hit that rolled into the left-center gap and bounced off the edge of the bullpen wall in right-center, making it 5-3.
"It's been an up and down season. Early-on everybody was talking about getting rid of all these players and what not, and then we just kind of took it upon ourselves to play better," Gordon said. "It's been a heck of a year and we like where we're at right now."
Before the game, the Royals acquired outfielder Melky Cabrera from the Chicago White Sox for two minor league pitchers in a bid to bolster their offense.
Gordon entered the day hitting just .201 with five homers and 32 RBIs.
The switch-hitting Cabrera is batting .288 with 13 homers and 56 RBIs.
The Royals sliced it to 2-1 on Escobar's double before Devers hit his second career homer, a drive that barely cleared the top of the Green Monster and bounced onto the field.
It was originally called "in play" and a double when he stopped, but overturned by the umpiring crew after a brief review.
Red Sox: Second baseman Dustin Pedroia missed his second straight with a sore left knee.
The Red Sox honored their 2007 World Series champion team on the field before the game.
Recently retired slugger David Ortiz was asked if the current club could use his bat for the stretch run.
"Not me, man. I've been doing nothing but slow cycle, bro," he said, laughing. "I sit down and watch the game now and say, `Man, that's hard.' I view the game differently now."
Former lefty reliever Hideki Okajima flew from Japan on Saturday to be a part of the event.
Mike Lowell, the 2007 Series MVP, threw out the ceremonial first pitch to former catcher Jason Varitek.
FUN UNDER THE SUN
Kansas City is 17-7 in its last 24 day games after opening losing 11 of its first 12.
Barnes had a bandage on his right hand after, but credited the Royals.
"I didn't think I made terrible pitches," he said. "I didn't think I was leaving the ball middle and I was getting hit. I thought that they kind of did what hitters are taught to do with pitches away."
Royals: LHP Danny Duffy (7-6, 3.56 ERA) is slated to start the opener of a three-game series in Baltimore on Monday.
Red Sox: RHP Doug Fister (0-5, 7.46) is in line to start Monday when Boston hosts AL Central-leading Cleveland in the first of three.