Zack Greinke overcame a shaky start to allow two runs and strike out six in six innings.