In 2011, Bennett left France and joined Sean Kelly's squad, under the tutelage of manager Kurt Bogaerts. He again won the under-23 road race at the Irish National Cycling Championships and also the Grote Prijs Stad Geel, a UCI 1.2 ranked one day race. The following year he finished tenth in the under-23 road race at the UCI Road World Championships in Limburg, and seventh in the under-23 road race at the UEC European Road Championships. In 2013 moved up to Professional Continental level; Bennett won two stages in the Rás Tailteann – stage 3 into Listowel and stage 8 in Skerries – and stage 5 of the Tour of Britain, in which he also took two second places.
NetApp–Endura (2014–19)
2014 and 2015 seasons
Having joined in 2014, Bennett took his first professional win at the UCI 1.1 ranked Clásica de Almería and won twice in Germany: the Rund um Köln and stage 5 of the 1.HC ranked Bayern–Rundfahrt into Nuremberg. The 2015 season began for Bennett at the Tour of Qatar where he won the final stage, finishing in the Doha Corniche. Bennett took stage wins on the first and third stages at the Bayern–Rundfahrt, allowing him to win his first professional points classification jersey. Bennett was involved in a mass crash at the end of the Scheldeprijs. Bennett began the Tour de France sick, having been diagnosed with a hernia on his diaphragm. He completed 16 stages of the race before abandoning. He returned to racing at the Arctic Race of Norway and won stage 2 into Setermoen; he finished 2nd in the points classification to Alexander Kristoff. Bennett took his final win of the season at Paris–Bourges in a sprint finish.
2016 and 2017 seasons
In March 2016, Bennett won the first stage of the Critérium International in Corsica. Bennett's Tour de France effort was hindered by a crash that resulted in broken fingers on his right hand, but he continued to finish the race last in the general classification – the lanterne rouge – and finishing in the top 10 on the final stage in Paris. After recovering from his Tour injuries, Bennett went on to take a stage win at the Giro di Toscana, and won the points classification. The following month, he won his second consecutive Paris–Bourges. On 7 March 2017, Bennett won Stage 3 of the Paris–Nice. Bennett went on to win 2 stages of the Tour of Slovenia in June, and won the points classification. At the Czech Cycling Tour, he again won two stages and the points classification jersey. In September, he won the Münsterland Giro in a photo-finish. In October, Bennett won four out of the six stages of the 2017 Tour of Turkey.
2018 and 2019 seasons
Bennett started the season in the Tour Down Under, despite having an illness. He also started in the Paris–Nice, but had to abandon midway through stage 3 due to sickness. At the Volta a Catalunya, Bennett finished second on stage two. On 11 May 2018, he achieved his maiden Grand Tour stage victory, winning the seventh stage of the Giro d'Italia in Praia a Mare, in a sprint finish. He then added further stage victories on stage 12, finishing at the Autodromo Enzo e Dino Ferrari motor racing circuit in Imola, and the final stage into Rome. , where he won two stages. In August 2019, he was named in the startlist for the Vuelta a España, his first time competing in the Vuelta a España. On 26 August, he won Stage 3. He also won Stage 14, and finished in second place on four other stages; he finished third in the points classification behind overall contenders Primož Roglič and Tadej Pogačar.