On a rainy evening, Kansas City won for the sixth time in eight games and the Yankees fell a game below .500.
Greinke (2-0) walked two and struck out two, lowering his ERA to 0.60. Jimmy Gobble earned his first save of the season.
John Buck went two for four with a solo homer.
New York has dropped two in a row to Kansas City for the first time in three seasons. Alex Rodriguez got two hits for New York, one night after striking out four times.
Because of the poor weather, announced starter Ian Kennedy was replaced by Brian Bruney. It was Bruney's first career starter after making 157 relief appearances and he struck out four batters in two shutout innings.
Kyle Farnsworth (0-1) came on and took the loss when he gave up two runs on four hits in two innings.