The stage finished with the 17.1 kilometre climb of Montevergine di Mercogliano, but it wasn't the most testing of uphill finishes, with the last eight kilometres at a consistent and relatively simple gradient of five per cent.
It was not a climb to trouble the GC men, except for Chris Froome, who crashed in the wet conditions with five kilometres to go. As he made his way back into the peloton, he was struggling to handle his bike, and banged into a perturbed Bennett.
There was no harm done though, and the favourites continued on at a steady pace, happy to let Carapaz go. Once clear, the 24 year old zoomed by the last remnant of the breakaway - Bennett's teammate Koen Bouwman - and powered away to beat the bunch by seven seconds.
Davide Formolo finished in second, while Thibaut Pinot sprinted home in third to take four bonus seconds, and reduce his deficit to Yates to 41 seconds.
Yates comfortably crossed the line in fifth to retain the pink jersey, with Kiwi teammate Sam Bewley again putting in a solid shift, riding on the front for a large portion of the stage's flat section as the Mitchelton-Scott team safely contained the early breakaway.
There should be a greater shake-up on the general classification tomorrow on stage nine, where the majority of the final 45 kilometres are uphill, including a particularly gruelling last few kilometres.
It's a stage which should suit Bennett, and give him another chance to take back time as the Giro continues to heat up.
Niall Anderson is covering every stage of the Giro d'Italia live for the Herald. He chatted about the Giro on Radio Sport yesterday, if you so desire you can listen to part one starting at 10.00 here, and part two here.
Niall's Giro d'Italia wraps
Stage seven
Stage six
Stage five
Stage four
Stage three
Stage two
Stage one