Bray Wanderers dealt a huge blow to Dundalk's bid to claim another Premier Division title with a resounding 3-1 win at Oriel Park and draw level on points with the Lilywhites in the process.
The visitors were awarded two penalties and the rejuvenated Gary McCabe converted both - either side of a Stephen O'Donnell equaliser - before Ryan Brennan put the seal on a win that moves the Seagulls level on points with Dundalk in second place, nine behind leaders Cork City.
The champions completely bossed the first-half but went into the break without making a breakthrough.
The controversy flared four minutes later when McKell adjudged O'Donnell to have pushed Aaron Greene to the deck and McCabe stepped up to squeeze his spot-kick inside Gary Rogers' left-hand post to stun the natives.
Parity was restored in the 56th minute when O'Donnell raced into the Bray penalty area to dink McMillan's slide rule pass over the advancing Cherrie.
McKell again pointed to the spot for a second time in the 68th minute when Ryan Brennan went down from a free-kick and McCabe stepped up to plant his effort to the goalkeeper's left again.
And Harry Kenny's side made sure of the win when Brennan slammed past Rogers to leave Dundalk's hopes of four-in-a-row in crisis.
Brandon Miele capped his first start in a month with a match winning goal in Shamrock Rovers' win over 10-man SLigo Rovers.
Rovers move up to fifth in the Premier Division table as Sligo, who had John Russell sent off in the first half, slip back to second bottom.
St Patrick's Athletic were denied a victory at Galway United, as Ronan Murray's injury-time penalty cancelled out Rory Feely's 40th minute header.