Gregson finished 5th in the boys' 1500 metres at the 2007 World Youth Championships in Ostrava.[8] Later that year, he set new Australian youth records over 1500 metres, 3000 metres and 5000 metres, his 3000m clocking of 8:01.26 also eclipsing Craig Mottram's Australian junior record.[9][10] At the 2008 World Junior Championships in Bydgoszcz he again finished 5th over 1500 metres and also participated in the 5000 metres.[4] In 2009, his last year as a junior, he set new Australian junior records over both 3000 and 1500 metres, with times of 7:57.45 and 3:37.24 respectively.[10]
Gregson was eliminated in the semi-finals of the Olympic 1500 m event in 2012,[21] while at the 2016 Olympics he placed ninth in the final. Gregson was the first Australian man in a 1500 meters final in 40 years.