The terrible weather meant the General Classification was neutralised on the final lap of the eight lap finishing circuit, giving all the riders the same time, and no bonus seconds for winning the stage.
Bouhanni did sprint to victory though to become the first man from France to win a stage at the Giro d'Italia since John Gadret in 2011. It was also his first ever stage win in a major tour.
Overall leader Michael Matthews admitted talks were going on with race officials and the peloton when the rain was at its worse as they feared for the safety of all the riders.
Matthews said, according to Sky Sports: “From the start it was really slippery and, straight away, we had a chat in the bunch and we decided to neutralise the race, just for the safety for us. It’s a long tour so we have to do what we have to do to get through these stages as safely as possible.”
The rain did stop in the middle of the race but before the roads could dry out it began again with about five kilometres to go. With 1.5km to go there were two crashes on the same corner leaving most of the riders out of contention for the stage win.
Bouhanni, however, battled through the crashes and his raw speed was enough to see him beat Giacomo Nizzolo on the line.
The FDJ rider did have a mechanical problem late on in the race and he praised his team-mates for helping him to make it back to the peloton.
Bouhanni said, according to Reuters: "I suffered a puncture on the front wheel and had a problem with the rear wheel but my team mates were fantastic in pulling me back towards the front of the peloton.
"In the last lap I slipped twice or three times but managed to stay on the bike and then I gave everything."
German sprinter Marcel Kittel came down with a fever before the start of the stage and did not compete.
Giant Shimano's Twitter said: "Unfortunately Marcel Kittel will not start the fourth stage of the Giro today due to fever.
Stage four result
1 Nacer Bouhanni (Fra) FDJ, 2:22:06
2 Giacomo Nizzolo (Ita) Trek Factory Racing, same time
3 Tom Veelers (Ned) Giant-Shimano, st
4 Roberto Ferrari (Ita) Lampre-Merida, st
5 Elia Viviani (Ita) Cannondale, st
6 Matteo Montaguti (Ita) Ag2r-La Mondiale, st
7 Kenny Dehaes (Bel) Lotto Belisol, st
8 Luka Mezgec (Slo) Giant-Shimano, st
9 Bert de Backer (Bel) Giant-Shimano, st
10 Francesco Chicchi (Ita) Neri Sottoli, st
1 Michael Matthews (Aus) Orica-GreenEdge, 12:28:43
2 Alessandro Petacchi (Ita) Omega Pharma – Quick-Step, +8
3 Daniel Oss (Ita) BMC, +10
4 Ivan Santaromita (Ita) Orica-GreenEdge, +14
5 Pieter Weening (Ned) Orica-GreenEdge, same time
6 Luke Durbridge (Aus) Orica-GreenEdge, st
7 Svein Tuft (Can) Orica-GreenEdge, st
8 Serge Pauwels (Bel) Omega Pharma – Quick-Step, +19
9 Rigoberto Uran (Col) Omega Pharma – Quick-Step, +19
10 Julien Vermote (Bel) Omega Pharma – Quick-Step, st
Write for GiveMeSport! Sign-up to the GMS Writing Academy here: http://gms.to/1a2u3KU