Dundalk's Brian Gartland and Hugh Douglas of Bray Wanderers grapple for possession at Oriel Park. (Pic: Ciarán Culligan)
SSE Airtricity League Premier Division
Dundalk FC 1-0 Bray Wanderers
Michael Duffy's ninth goal for Dundalk ensured Cork City's twelve-year wait on the Premier Division title goes on as The Lilywhites secured their 21st league victory of the campaign.
A draw at Oriel Park would have handed The Rebels the title courtesy of their scoreless draw at Dalymount Park, however, with Bray down a man following Ryan Brennan's second-half sending-off, a goal into the 'town end' goal felt inevitable despite The Lilywhites having spurned a host of glorious opportunities beforehand.
Racing onto a ball from Jamie McGrath, Duffy controlled before drilling through the legs of Bray 'keeper Peter Cherrie as Stephen Kenny's men finally made their superiority count.
The first-half was a disappointing affair with a well-struck David McMillan shot - which Cherrie saved well - and Jake O'Connor's chested effort against the butt of the post the best action.
Dundalk lifted their play in the second-half, though Bray remained competitive, even after Brennan's 60th minute sending-off. Still reeling from a challenge by Shane Grimes which saw him require treatment, Brennan needlessly picked up a booking for a late foul on Gary Rogers before referee Seán Grant upgraded the punishment following an exchange of words.
However, it looked as if Harry Kenny's side were going to earn a share of the spoils, until Duffy slipped through with three-minutes to play to ensure Dundalk's status as champions for at least another 72 hours.
Dundalk FC: Gary Rogers; Seán Gannon, Brian Gartland, Seán Hoare, Shane Grimes; Chris Shields, Jake O'Connor (Jack O'Keefe 68); Michael Duffy, Jamie McGrath, Carlton Ubaezuono (Robbie Benson 56); David McMillan
Subs not used: Gabriel Sava (gk), Eric Whelan, Cian Flynn, Deane Watters, James Woods
Booked: Grimes (58), Hoare (86)
Bray Wanderers: Peter Cherrie; Keith Buckley, Hugh Douglas, Conor Kenna, Karl Moore; Ryan Brennan, John Sullivan, Darragh Noone, Jason Marks; Gary McCabe, Aaron Greene
Subs not used: Lee Steacy (gk), Luke Rossiter, Derek Foran, Calvin Rogers, Ger Pender, Mark Salmon, Anto Flood
Booked: Kenna (58), Brennan (60 & 60), Buckley (82)
Red Card: Brennan (60)
Referee: Seán Grant (Wexford)