A goal, an assist and a sensational individual performance from Ismahil Akinade on his first start in 11 months earned Bohemians a 2-1 win over Shamrock Rovers at Tallaght Stadium.
The Gypsies needed at least a draw to avoid a first whitewash against Rovers since 1990, but equally to arrest a run of three straight losses that had threatened to pull them back into the relegation fight.
In the end, they got all three points thanks to a wonderful individual goal from Akinade and Dinny Corcoran's second-half strike, after Dave McAllister had equalised for the Hoops.
Rovers boss Stephen Bradley made one change to the side that beat Dundalk 1-0 at Oriel Park as Roberto Lopes was replaced by Sam Bone, while captain Ronan Finn missed out with injury.
Keith Long made five changes to the Bohemians side that lost 1-0 to Derry City last week, with captain Derek Pender one of a completely changed back four.
The game began at a thunderous pace that rarely subsided, and it was the away side who had the majority of the early play, forcing a succession of corners without any end product.
It was Rovers who fashioned the first chance, however, when a crunching tackle from Dave McAllister set off a counter that ended with Graham Burke stabbing Luke Byrne's cross inches wide.
The home side began to dictate the tempo, with Gary Shaw and Brandon Miele both seeing weak efforts run wide as the Hoops probed without too much effect.
Shaw beat the offside trap before thumping a shot at Shane Supple from tight range that the keeper did well to parry away and held Miele's follow-up as Rovers looked to force the game.
GOAL!
— eirSport (@eirSport) July 28, 2017
Shamrock Rovers 0-1 Bohemian FC.
What a sensational strike from Izzy Akinade. #DublinDerby #LOI pic.twitter.com/u6VSefXgpU
The visitors took the lead just before the half-hour, though, and what a goal it was from the recalled Akinade – who had endured taunting from the home fans throughout.
Latching onto a flicked pass from strike partner Dinny Corcoran, Akinade broke the tackle of Ryan Connolly and outpaced Dave Webster before slamming a shot into the top corner.
The Nigerian made a beeline for the away supporters and cupped his ears in defiance, and the stewards were forced to remove a couple of invaders who managed to spill onto the pitch.
The home fans wouldn't have to wait long to get excited for the right reasons as a Miele cushioned a cross from the right in for McAllister to nod low past Supple – Bohs had led for just three minutes.
GOAL!
— eirSport (@eirSport) July 28, 2017
Shamrock Rovers 1-1 Bohemian FC.
Rovers equalise almost immediately through David McAllister. #DublinDerby pic.twitter.com/hnKXkAzjpf
They nearly regained the lead in eerily similar circumstance to the equaliser, as a corner fell to Rob Cornwall, who volleyed back in for Corcoran to arch a header that came out off the post when most in the stadium were bracing for it to creep inside.
Ten minutes into the second half, Corcoran got his goal as Lorcan Fitzgerald picked out Akinade with a quick throw and he centred for Corcoran, who shrugged off Byrne to volley into the corner.
GOAL!
— eirSport (@eirSport) July 28, 2017
Shamrock Rovers 1-2 Bohemian FC.
Dinny Corcoran does it again to put Bohs back ahead. Live now on eir Sport 2! #DublinDerby #LOI pic.twitter.com/iHH5Q3ITP5
Rovers introduced Michael O'Connor late on as they finished the game with five attackers on the pitch but they couldn't break down a stout and relatively untroubled Bohs defence.
Boyd had a great chance to level for the Hoops in the second minutes of injury time from O'Connor's nod-down, but he sliced wide from inside the box under no pressure.
Shamrock Rovers: Tomer Chencinski; Simon Madden, David Webster, Sam Bone (Sean Boyd 56), Luke Byrne; David McAllister, Ryan Connolly (Michael O'Connor 81), Trevor Clarke, Brandon Miele, Graham Burke; Gary Shaw.
Bohemians: Shane Supple; Derek Pender (Ian Morris 82), Warren O'Hora, Rob Cornwall, Dylan Hayes; Paddy Kavanagh (Georgie Poynton 70), Oscar Brennan, Fuad Sule, Lorcan Fitzgerald; Ismahil Akinade, Dinny Corcoran (Ciaran O'Connor 89).
Referee: Ben Connolly (Dublin).