Two second half goals from captain Danny O'Connor helped Bray Wanderers to their first victory of the season in a 3-2 win over UCD.
O'Connor had been impressive throughout and capped his performance with two fine goals to deny UCD a second home win of the season.
Veteran striker Jason Byrne headed Bray ahead on the half hour after a mistake by defender David O'Connor.
Two penalties by Graham Rusk, both for fouls by defender Conor Butler, either side of half-time saw the Students lead just after the hour.
However, O'Connor brought his side back on level terms on 75 minutes with a clever flick over keeper Ger Barron.
With six minutes on the watch he rose highest at the back post to head home a cross from substitute Dave Webster.
Aside from O'Connor's starring role, there were also good showings from Bray wingers Adam Hanlon and Marty Waters.
It was Bray's fifth straight league win over the Students after they won all four Airtricity League meetings last season.
Injury had deprived both teams of several starters, but Bray had Darren Quigley in goal after his red card from last week was given to defender Pierce Sweeney.
A promising start for the Students saw Chris Mulhall shoot past the post, Quigley rush out to deny Chris Lyons and O'Connor head narrowly wide.
Waters had Bray's first chance as he raced on to Sean Houston's pass. The lively winger's attempted lob was poor and straight at Barron.
Bray countered UCD's early dominance as the half wore on and created several chances before going ahead.
Ciaran Nangle was forced to clear Houston's cross from under his own bar, while Barron blocked Byrne's close-range shot.
However, Barron could do little as Byrne's header opened the scoring on 30 minutes.
Waters' low cross was mis-kicked by O'Connor and Byrne pounced to beat Barron from six yards.
The Students were rattled for a time but were level at the break, although the Bray players were angry about the decision to award the penalty.
Referee Paul McLoughlin ruled that Butler had nudged Lyons as he tried to shoot. Rusk sent Quigley the wrong way from the spot and Butler picked up a yellow card.
It was a sloppy start to the second half by the Students as they presented Bray with a number of chances.
Houston almost capitalised on a poor back pass by James Kavanagh, while Byrne fired over after Barron failed to gather a through ball.
Hanlon then caught Nangle in possession inside his own half. The defender recovered to hold off the winger and Barron completed the clearance.
Butler had a night to forget as he fouled Daniel Ledwith to give UCD their second penalty on 65 minutes.
Rusk chose the same right side with the same result. Butler avoided a second yellow card but was soon replaced by Webster.
But Bray were not behind for long as O'Connor's flick deceived Barron and floated into the net. The visitors' skipper completed the turnaround with six minutes left as he powered in Webster's cross.
A frenetic period of injury time saw Mulhall's corner flash across goal without a touch.
At the other end, Barron kept out substitute John Mulroy's shot with his legs.
UCD: 1 Ger Barron; 17 Daniel Ledwith, 4 David O'Connor, 5 Michael Leahy, 3 Ciaran Nangle; 14 James Kavanagh, 8 Paul O'Conor, 11 Chris Mulhall, 26 Chris Lyons; 9 Graham Rusk, 10 Robbie Benson (21 Dean Clarke '80).
Subs: 2 Mark Langtry, 13 Hugh Douglas, 16 Mark McGinley, 18 Barry McCabe, 22 Stephen Doyle, 27 Cillian Morrison.
Bray Wanderers: 1 Darren Quigley; 16 Dean Zambra, 5 Adam Mitchell, 3 Dane Massey, 19 Conor Butler (2 Dave Webster '71); 21 Adam Hanlon, 14 Graham Kelly, 6 Danny O'Connor, 20 Sean Houston, 11 Marty Waters; 10 Jason Byrne (18 John Mulroy '76).
Subs: 25 Brian Kane, 9 Anthony Bolger, 12 Kevin Knight, 17 Jonathan Kelty, 24 Stephen Last.
Booked: Butler, Mitchell, Kelly, Massey.