The 27-year-old Kiwi was sitting 12th overall, but after several days of fighting illness he was unable to hold the pace as the peloton made its way to the finish in Romans-sur-Isère.
"I felt weak," Bennett said after he abandoned. "I am empty. I was in pain in places I didn't even know could hurt. It should have been an easy day to survive for me, but that was not the case. I felt like I sprinted all the way, but in reality, I almost went backwards."
Bennett, who won his first WorldTour overall at the Tour of California in May, jumped into the top 10 at the Tour de France after finishing seventh on the difficult stage 9 to Chambery. Bennet was the first finisher behind a group of six GC contenders that had a gap of 1:15. He moved to ninth overall with an eighth-place finish on stage 12 to Peyragudes, where Romain Bardet (AG2R La Mondiale) took the stage win and Fabio Aru (Astana) sneaked into yellow.
Bennett's fortunes began to change from there, however, as he finished 22nd on the mountain stage to Foix won by Warren Barguil (Team Sunweb) dropping out of the top 10 to 11th. He held his position through the next stage, but finished 32nd on stage 15 to Le Puy-en-Velay and slipped again to 12th heading into the second rest day.
Bennett was unable to recover on the rest day and was forced to withdraw during Tuesday's wind-blown stage 16.
"It is devastating to leave the Tour," Bennett said. "It is one of the worst feelings for a bike racer. Thanks again for all support the last weeks."
Sport director Nico Verhoeven said Bennett was extremely disappointed to leave the Tour, but the rider was left with little choice when winds turned the stage into an echelon battle.
"Right from the start he was in trouble, and after that he dropped from the group with [Marcel] Kittel and [Dylan] Groenewegen. He did not want to stop. He is a fighter and wants to continue, but at a certain point you are just completely empty."
Thank you for signing up to Cycling News. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.