The Australian finished in second on the road behind Bouhanni, but was subsequently awarded the win as the Frenchman was relegated for an irregular sprint.
The sprint came from a reduced bunch after the peloton was fragmented in the closing couple kilometres of the the fairly flat 213.5km stage. The likes of André Greipel (Lotto-Fix All) and Alexander Kristoff (Katusha) missed out on the split and finished in the second group one second behind.
In form Marcel Kittel (Etixx-QuickStep) meanwhile, was unable to stick with the front of the race and was no where close to contesting a space in the top-10 on a stage he probably targeted at the start of the race.
Bouhanni was the first to make his move with around 200 metres to go, with Matthews making his move up the left-hand side of the road.
Matthews drifted towards the barriers as Bouhanni moved slightly across the road, with the pair then sprinting side by side. Bouhanni then seemed to lean across into the Orica-GreenEdge man with both almost coming down.
Niccolo Bonifazio (Trek Factory Racing) was narrowly pipped to second place by Matthews on the road, but subsequently moved to second place after Bouhanni was relegated to third.
Matthews holds on to the yellow jersey for a third day since winning the race’s prologue, extending his lead to 14 seconds over Tom Dumoulin (Giant-Alpecin), with Britain’s Geraint Thomas now in fifth just 19 seconds behind.
The day was a fairly sedate affair for the most part, with the main breakaway of Matthias Brandle (IAM), Anthony Delaplace (Fortuneo–Vital Concept), Tsgabu Grmay (Lampre-Merida) and Evaldas Siskevicius (Delko Marseille Provence KTM) stretching a gap of over eight minutes.
They were easily reeled in though, and had just a minute with 23km to go, with the last fragments of the break being caught with 12km to go.
A nasty incident occurred in the closing 9km however, with Fortuneo–Vital Concept rider Pierre-Luc Perichon appearing to collide with a spectator as he was squeezed off the road as it narrowed.
Wednesday’s stage three sees the first real day for the GC riders, as the peloton navigates a course of 165.5km from Cusset to the category two finishing climb of Mont Brouilly.
Paris-Nice 2016 stage two, Contres – Commentry (213.5km)
1. Michael Matthews (Aus) Orica-GreenEdge, in 5-04-46
2. Niccolo Bonifazio (Ita) Trek-Segafredo
3. Nacer Bouhanni (Fra) Cofidis, all same time
4. Alexander Kristoff (Nor) Katusha, at 1 sec
5. Arnaud Démare (Fra) FDJ
6. Ben Swift (GBr) Team Sky
7. André Greipel (Ger) Lotto-Fix All
8. Wouter Wipper (Ned) Cannondale
9. Adrien Petit (Fra) Direct Energie
10. Jonas Van Genechten (Bel) IAM Cycling, all same time
Overall standing after stage two
1. Michael Matthews (Aus) Orica-GreenEdge, 9-41-50
2. Tom Dumoulin (Ned) Giant-Alpecin, at 14 secs
3. Patrick Bevin (NZl) Cannondale, at 19 secs
4. Ion Izagirre (Esp) Movistar
5. Geraint Thomas (GBR) Team Sky, all same time
6. Lieuwe Westra (Ned) Astana, at 24 secs
7. Dries Devenyns (Bel) IAM Cycling, at 25 secs
8. Arnaud Démare (Fra) FDJ, st
9. Rafal Majka (Pol) Tinkoff, at 27 secs
10. Richie Porte (Aus) BMC, st