Bennett was born in Nelson in 1990, where he was educated at Waimea College. He originally took up cycle racing as a mountain biker, moving to Switzerland in 2009 to pursue his amateur career. Bennett turned professional in 2012. He competed with the RadioShack–Nissan squad for two seasons before moving to Cannondale in 2014. In October 2014 it was announced that he would join LottoNL–Jumbo for the 2015 season. In May 2015, he was barred from starting the Giro d'Italia due to low cortisol levels (later discovered to have been caused by illness), as per Mouvement pour un cyclisme crédible (MPCC) rules. He was not replaced by his team. He was named in the start list for the 2016 Tour de France and finished in 53rd place. His most impressive performance in the Tour de France was finishing seventh on stage nine at Andorre Arcalis, judged by some as the toughest stage that year.
He competed in the Men's individual road race at the 2016 Summer Olympics and came 33rd; he described the race as "absolutely" the toughest in his career, and 79 riders did not finish.
In 2017, he became the first New Zealander to win the general classification at a UCI World Tour cycling event, when he won the Tour of California. Bennett also entered the 2017 Tour de France, and finished 7th on Stage 9, but retired midway through stage 16 when he came down with gastroenteritis. He would return to Girona to recover.