The Kansas City Royals winning streak is stopped at four, as the Arizona Diamondbacks topped KC 12-5 in the second of a three game interleague series at Kaufman Stadium.

Royals starter Zack Greinke had one of his worst outings of the year, giving up six runs, four earned, in 6 2/3 innings. Greinke, who lost for the first time this season at home, allowed eight hits and walked two while striking out nine.

Jose Guillen had three hits and drove in four for Kansas City.

The rubber match of the series is tonight with Luke Hochevar getting the call for KC against Dan Haren.