After a slow start to the second half, the game erupted back into life as Bohs levelled on 66 minutes when captain Jordan Flores stole in at the back post to slide home Dayle Rooney’s ball across goal.
However, the visitors responded just two minutes later when O’Reilly hammered a shot into the bottom corner from a Winchester pass for his second of the evening.
Four minutes later, James-Taylor notched his second after Maher spilled Ross Tierney’s free-kick delivery.
But with the game continuing to swing, Akinyemi capped a frenetic spell with the winner, heading home at the back post from Duffy’s cross.
The drama continued when Boyce was shown a second yellow card on 77 minutes for a lunge on Clarke.
Bohs pushed for a late leveller but were repeatedly denied by an inspired Maher as Derry held on for a hugely entertaining win.
The result moves Lynch’s side, who next host Shelbourne on 19 September, seven points behind leaders Shamrock Rovers, who have two games in hand.