Behind him was Caleb Ewan (Orica-Scott), who finished runner-up for the second consecutive day, and whose disappointment at again missing out on victory was made up for by the fact that he is now the race’s overall leader.
Previous leader Dylan Groenewegen (LottoNL-Jumbo) finished fourth, which wasn’t high enough to gain any bonus seconds, and therefore he slips to third overall.
In a chaotic bunch sprint, Direct Energie’s Jonathan Hivert almost managed to catch all the major sprinters by surprise when he sprang out of the front, initially gaining several bike lengths with his long-range effort.
However, Bouhanni was alert and responded quickly, powering himself into the Frenchman’s slipstream and using him as a lead-out, before launching his own sprint to win by a clear stretch of road.
Ewan was less quick to respond to Hivert’s, and found himself boxed in when Bouhanni pounced. He did however manage to catch Hivert at the line to beat him into second.
A break of four got away at the start of another day full of roadside spectators, and consisted of three Brits, Harry Tanfield (Bike Channel Canyon), James Gullen (JLT Condor) and Connor Swift (Madison Genesis) and one Spaniard, Sebastian Mora (Raleigh-GAC).
Although they were comfortably caught, a bunch sprint was not always a foregone conclusion, especially during a hectic final 20km. The undulating terrain encouraged a flurry of attacks, with Direct Energie (including defending champion Thomas Voeckler) and Dimension Data (through the likes of Jacques Janse Van Rensburg, Omar Fraile and Ben O’Conor) among the most active teams.
But there was enough intent and organisation among the peloton to ensure that none of these attacks were successful, with even GC contender Steven Kruijswijk (LottoNL-Jumbo) taking a turn at the front to ensure everything stayed together.
Heading into the sprint, it was Ewan’s Orica-Scott team who took control, placing several riders at the front of the bunch in the final kilometres intermingled with representatives from Dimension Data. Team Sunweb took over as the final few hundred metres approach, and seemed ready to set-up Soren Kragh Andersen, until Hivert disrupted everything with his acceleration.
There was an impressive placing for Christopher Lawless (Axeon Hagens Berman), who finished fifth, while Matthew Holmes (Madison-Genesis) and Adam Blythe (Aqua Blue Sport) rounded off the top ten in ninth and tenth respectively.
The 2017 Tour de Yorkshire concludes on Sunday with stage three from Bradford to Fox Valley, Sheffield, totalling 194.5km.
Tour de Yorkshire 2017, stage two: Tadcaster to Harrogate, 122.5km
1. Nacer Bouhanni (Fra) Cofidis
2. Caleb Ewan (Aus) Orica-Scott
3. Jonathan Hivert (Fra) Direct Energie
4. Dylan Groenewegen (Ned) LottoNL-Jumbo
5. Chris Lawless (GBr) Great Britain
6. Kristian Sbaragli (Ita) Dimension Data
7. Søren Kragh Andersen (Den) Team Sunweb
8. Tony Hurel (Fra) Direct Energie
9. Matthew Holmes (GBr) Madison Genesis
10. Adam Blythe (GBr) Aqua Blue Sport, all same time
General classification after stage two
1. Caleb Ewan (Aus) Orica-Scott, in 6-55-17
2. Nacer Bouhanni (Fra) Cofidis, at 2 secs
3. Dylan Groenewegen (Ned) LottoNL-Jumbo, at 2 secs
4. Chris Opie (GBr) Bike Channel Canyon, at 8 secs
5. Jonathan Hivert (Fra) Direct Energie, at 8 secs
6. Angel Madrazo (Esp) Delk Marseille Provence KTM, at 10 secs
7. Kristian Sbaragli (Ita) Dimension Data, at 12 secs
8. Steele Von Hoff (Aus) One Pro Cycling, at 12 secs
9. Adam Blythe (GBr) Aqua Blue Sport, at 12 secs
10. Søren Kragh Andersen (Den) Team Sunweb, at 12 secs