A second straight offensive burst carried the American League-leading Boston Red Sox to a punishing 12-5 victory over the Kansas City Royals on Wednesday.

A day after piling on the runs in a 13-9 win over Kansas City, Boston's bats stayed hot as they scored 10 runs in the first four innings to stun the Royals (43-61) and leave them mired at the bottom of the AL Central.

"It was just another one of those games where we got our brains beat out," Kansas City's Jeff Francoeur told reporters.

Jacoby Ellsbury and Dustin Pedroia blasted back-to-back home runs to open the bottom of the first inning, with the latter extending his hitting streak to 24 games. Both players finished with three hits and two RBIs.

The Red Sox (64-38) took control with three runs in the second inning to take a 5-3 lead.

David Ortiz belted a grand slam home run in the fourth inning as Boston surged to a 10-3 advantage against losing starter Bruce Chen, who did not return for the fifth.

Ortiz's blast gave him 1,000 RBIs during his tenure in Boston, where he is playing his ninth season.

"When your name gets in the mix with guys that played here their whole career, it's a compliment," Ortiz said.

"It's something you don't think about right now while you're playing. You kind of sit down (later) and say, 'well, I did OK while I was there'."

John Lackey (9-8) took his fourth straight win on the mound despite allowing 11 hits and four runs in under six innings. Boston's Adrian Gonzalez added RBI singles in the sixth and eighth and finished 3-for-5 with three RBIs.

The Royals took a 3-0 lead in the top of the first on a three-run blast by Eric Hosmer, but their joy did not last long despite scoring single runs in both the fifth and eighth inning.