Carl Meyer's second-half try helped Newport Gwent Dragons get back to winning ways in the GUINNESS PRO12 with an impressive victory over in-form Ulster.
The Dragons had lost their previous two league games heading into the clash at Rodney Parade, while Ulster were chasing a fifth straight victory in the competition.
And when Craig Gilroy crossed for the visitors in the first half it looked as though Ulster - who needed a bonus-point victory to go to the top of the GUINNESS PRO12 table - would assume control of the game.
However, second-half tries from Rhys Buckley, Jonathan Evans and Meyer allowed the tenth-placed Dragons to upset the form book - despite a second Gilroy try and an effort from Ulster replacement Ross Adair making it a nervy finish.
The Dragons made two changes from the 23-17 defeat by Zebre last time out, with Wales lock Andrew Coombs and flanker James Benjamin coming in and they made a big difference.
A cagey first half saw the Dragons get the scoreboard ticking over first with Tom Prydie firing over a 13th-minute penalty.
Defences were definitely on top at Rodney Parade early on, but the hosts were undone by a bit of magic on 22 minutes.
A well-worked move from Ulster culminated in Rory Scholes feeding Gilroy who powered his way over in the left corner.
Ruan Pienaar went on to scuff the conversion and Prydie made the South African pay with his second penalty of the afternoon shortly afterwards.
Prydie, though, began to struggle from the tee as the first half drew to a close as he missed two penalties - one from long range and one from closer in - but the Dragons still held a narrow 6-5 lead at the break.
Pienaar missed his initial chance to restore Ulster's lead with a 44th-minute penalty, but he made amends moments later to make it 8-6 to the visitors.
Dorian Jones took over the kicking responsibilities for the Dragons and he proved his worth by slotting over a penalty on 50 minutes as the lead changed hands once more.
And things got even better for the hosts when a driving maul brought their first try. Ulster were down to 14 men after Callum Black's yellow card and Buckley took full advantage to touch down after some superb pressure from the hosts.
Jones was off target with his conversion but Newport were still 14-8 to the good after 56 minutes.
And that lead was extended still further just after the hour mark when Evans produced a fantastic individual try.
Some patient build up from the Dragons came to life when the scrum-half darted for the line and Jones' conversion made it 21-8.
Gilroy then crossed for his eighth GUINNESS PRO12 try of the season but, despite Pienaar's extras, Dragons full-back Meyer put an end to any hopes of an Ulster comeback with a 73rd-minute try in the left corner for the hosts.
Adair then capitalised on some slack Newport defending to cross with just two minutes left and Pienaar added the two points but it mattered little as the Dragons held on to claim victory.
Follow us on Facebook, join the conversation on Twitter, sign up to our YouTube channel for extensive match highlights and sign up for our newsletter for regular updates on the GUINNESS PRO12