Gray pitched four shutout innings, allowing just two hits and no walks with a pair of strikeouts. He threw 44 pitches, 33 for strikes, completing his 60-pitch allotment in the bullpen.
The Rockies got on the board in the bottom of the second when Nolan Arenado launched his fourth home run of the spring, a solo shot that was a no-doubter to left-center against Milwaukee starter Tyler Thornburg.
Milwaukee evened the score in the sixth against Rockies reliever Ken Roberts as Scooter Gennett singled home Jean Segura to make the score 1-1.
Colorado took the lead for good in the seventh thanks to a Wilin Rosario double that scored Brandon Barnes. Rosario then scored on Cristhian Adames' single, giving the Rockies a 3-1 lead. The Rockies grabbed a pair of insurance runs in the eighth with a two-run home run from Tim Wheeler.
In addition to the good performance from Gray, the Rockies got scoreless innings from relievers Brooks Brown and Adam Ottavino, with the latter striking out a pair. Arenado also added a sixth-inning double to his home run in the second.
The Rockies continue their spring work tomorrow as they travel to Camelback Ranch to take on the Chicago White Sox. Jordan Lyles will get the start on the mound for the Rockies against Chicago's John Danks.