KANSAS CITY, Mo. - Expecting some rain, the Kansas City Royals tried to rush their way through five innings to make it an official game, and came away with a shortened win.

Alex Gordon hit a two-run homer, Edinson Volquez pitched six solid innings and the Royals beat the St. Louis Cardinals 3-2 Saturday night in a game called in the sixth inning due to rain.

Volquez acknowledged he was rushing his throws with rain looming.

"I was kind of hurrying my throws a little bit," Volquez said. "I knew the rain was coming. I was trying to get past the fifth inning. I did it, too."

The Royals improved to 28-14, the best record in the majors. The game was stopped as Kansas City came to bat in the sixth, and was called after a wait of 70 minutes.

Volquez (4-3) gave up four hits and walked three. He gave up a run in the second, snapping a streak of 27 consecutive shutout innings by the Royals' rotation.

Gordon homered in the second inning off John Lackey (2-3). Gordon is 7 for 14 with two home runs in his career against the right-hander.

"We'll take it," Gordon said of the rain-shortened victory. "We knew the weather was coming and it was going to be bad, so we wanted to make sure we had that lead after the fifth inning just to be sure. It wasn't looking good on the radar. It was definitely in our minds.

"So it was good to get an early lead and keep it like that. Edinson did a good job of getting out of jams and keeping us there."

Lackey was not happy with the game ending early.

"It stinks really bad," Lackey said. "There's a lot of game left. In baseball they do things the same way for a long time."

Jhonny Peralta doubled to lead off the Cardinals' second and Volquez walked Randal Grichuk and Matt Adams to load the bases with none out. Peralta scored on Yadier Molina's grounder. Eric Hosmer doubled to begin the Kansas City fourth and scored on Salvador Perez's single after Lackey walked Gordon intentionally to give the Royals a 3-1 lead.

"I realized it could be a five-inning game," Cardinals manager Mike Matheny said. "That's why we walked Gordon there. Unfortunately it didn't work out. We had opportunities. That's the story of the game. We loaded the bases twice and we ended up with one run. If we'd gotten more we'd be celebrating this decisions right now."

Matt Carpenter's single in the fifth scored Peter Bourjos for the Cardinals' second run. St. Louis had the bases loaded with one out after Matt Holliday was hit by a pitch, but Volquez induced Peralta to ground into an inning ending double play.

ONE INNING SHY

The 27-inning scoreless inning streak by the starters was one shy of the club record. Royals starters Nelson Briles, Bruce Dal Canton, Al Fitzmorris and Paul Splittorff threw 28 straight scoreless innings from Aug. 23-26, 1974.

TRAINER'S ROOM

Cardinals: OF Jason Heyward did not start because of tightness in his hip. ... RHP Lance Lynn suffered back cramps in the first inning in his Friday start, but laboured through six innings. "It's the first time this has happened," Lynn said. "We'll get it fixed and get going again."

Royals: 3B Mike Moustakas was removed after four innings with a bruised left collarbone. He was injured on Molina's hard hopper in the second inning. ... Backup C Erik Kratz (left plantar fasciitis) homered Friday for Triple-A Omaha while on a rehab assignment. ... OF Alex Rios (fractured left hand) may begin a minor league rehab assignment in the next few days.

UP NEXT

Cardinals: RHP Michael Wacha, who is 6-0, makes his ninth start in the series finale Sunday. He is winless in two career starts against the Royals.

Royals: RHP Yordano Ventura will oppose Wacha. The two squared off last June 3 and Ventura prevailed, giving up two runs and seven hits in six innings in a 3-2 victory.