Royals 9, Orioles 3: Omar Infante homered and drove in a career high-tying six runs while James Shields worked seven strong innings as Kansas City took two of three on the road from Baltimore.

Alex Gordon hit a two-run double and Norichika Aoki scored three times for the Royals, who posted a season-high run total and matched another season best with 13 hits to improve to 12-0 in games in which they score at least four runs. Shields struck out six to improve to 10-1 over his last 12 road starts and posted his third straight win - all away from home - after yielding two runs on three hits and a pair of walks.

Nelson Cruz belted his team-leading seventh home run while Nick Markakis recorded one of the Orioles' three infield singles and scored on a wild pitch in the ninth inning. Miguel Gonzalez (1-2) gave up four runs (three earned) and six hits over six frames.

Kansas City reached Gonzalez for an unearned run two batters into the game when Aoki landed on third base following a fielding error by center fielder Adam Jones and Infante pushed across the Royals' first run with a RBI groundout. Jarrod Dyson reached on an infield single two innings later, stole second and moved ahead to third on Aoki's grounder, putting him in position to score on Infante's sacrifice fly.

Infante notched his first hit in the fifth when he ripped a 1-2 changeup from Gonzalez off the base of the wall in left for a two-run double and answered Cruz's two-run shot in the sixth with one of his own in the seventh off reliever Evan Meek. Gordon completed Kansas City's four-run outburst with two outs in the seventh as he lifted a fly ball over the outstretched glove of Jones and just in front of the warning track.

GAME NOTEBOOK: Infante's other six-RBI game came as a member of the Detroit Tigers last season during a 16-2 rout of the Royals. … Shields' 10 road wins since July 26 are three more than any other pitcher in that span. … Baltimore placed 1B Chris Davis on the disabled list with a strained left oblique on Sunday.