Garrett played in the first Test match, against Lillywhite's team in Melbourne in March 1877. At 18 years and 232 days is still the youngest representative to play for Australia against England. In that match on the 2nd day he scored 18 not out in the first innings, and helped sustain a crucial 43-run partnership with Charles Bannerman until the latter split his finger and retired hurt on 165. His 18 not out was, on that day, the 2nd highest test score. Garrett's score was passed later in the day by England opener, Harry Jupp. Promoted to number four in the second innings, Garrett made a duck (zero runs). Opening the bowling with John Hodges he took two wickets in the first innings (including that of top scorer, Henry Jupp). In 1878, he toured England and North America with the first representative Australian team to go overseas. He toured England again in 1882, participating in an historic Ashes match at The Oval. His last match was at Sydney in 1888.