Zack Greinke extended his scoreless-innings streak to 34 with a seven-hit shutout, improving to 3-0 on the season as Billy Butler's RBI double and Miguel Olivo's solo homer was all the offense Greinke needed to give the Royals their second straight win.