Ulster boosted their hopes of a home tie in the Pro12 semi-final play-offs by securing a heroic win over Irish provincial rivals Leinster at the RDS.
Leinster led 12-8 at half-time thanks to four penalties by Ian Madigan to a try by number eight Robbie Diack and a penalty from scrum-half Ruan Pienaar.
Iain Henderson scored a second-half try, Pienaar added three penalties, and Madigan kicked two further penalties.
Leinster produced intense late pressure but Ulster somehow held out to win.
A number of referee George Clancy's decisions during the game appeared harsh on the visitors and he awarded Leinster a succession of penalties in the frantic five minutes of injury time as the home side were camped on the the Ulster line.
In the final play of the game Sean Cronin lunged his way over the line but replacement prop Kyle McCall exemplified the outstanding Ulster defence by preventing the Ireland hooker from grounding the ball.
Clancy then blew the final whistle only for him to ask for the match TMO to view the final incident again before Ulster's victory was confirmed as the visiting players watched on amid confusion.
Rory Best says Ulster played some of their best rugby of the season as they return to form by beating Leinster at the RDS
The victory sees Ulster moving up to second place in the table, one point behind Glasgow.
Leinster are two points adrift of Ulster in third but it is Ulster who gained a huge confidence boost ahead of next Saturday's Heineken Cup quarter-final against Saracens at Twickenham.
Ulster's early play was full of intensity and they exerted sustained pressure on the Leinster line, but some outstanding defence by the home side denied the visitors any reward for their attacking flair.
Fly-half Madigan slotted over the first points of the game in the 14th minute after an infringement by Ulster skipper Johann Muller.
Four minutes later, Ulster were penalised for going off their feet at the breakdown and Madigan knocked over a long-range penalty from just inside the Ulster half, with the assistance of the wind.
Mark Anscombe's side responded with a 21st-minute try when Diack dived over in the corner after accepting a well-executed long pass from Paddy Jackson.
Pienaar and Williams played their part in the build-up, with the Kiwi back row forward setting up the opportunity with a strong charge at the Leinster defence.
Pienaar missed the difficult conversion attempt from the touchline and soon after Madigan landed his third penalty after Tom Court was penalised at a scrum.
Ulster coach Mark Anscombe lauds the performance of his team as they hold on to beat Leinster in Saturday's Pro12 clash
Ulster continued to press forward and Craig Gilroy made for the Leinster line but referee Clancy blew up for a forward pass by Dan Tuohy in the build-up.
Piennar's penalty from in front of the posts on 39 minutes reduced his side's deficit to a point but Madigan was successful with his fourth kick at the posts to increase the half-time lead to four.
A further Madigan penalty further extended the advantage but Pienaar replied with two more successful kicks, the first awarded for hands in the ruck by prop Mike Ross.
Andrew Trimble was tackled just short of the line in the 61st minute but he was able to recycle the ball and Pienaar cleverly passed to replacement Henderson, who touched down in the corner for his side's second try.
Pienaar's conversion attempt flew agonisingly wide of the posts on this occasion.
Madigan and Pienaar traded penalties and then Joe Schmidt's charges laid siege on the Ulster line in the closing stages but the northern province held on thanks to some desperate defending and stoic scrummaging.
Full-back Jared Payne was yellow-carded five minutes into added time but Ulster's heroic rearguard action paid dividends as they secured their first away victory against their Irish rivals for 14 years.
Ulster's remaining games see them facing the Dragons (home) on 12 April, Connacht (away) 19 April and Cardiff (home) on 3 May.
R Kearney, D Kearney, B Macken, A Goodman, I Nacewa, I Madigan, I Boss, C Healy, R Strauss, M Ross, D Toner, Q Roux, K McLaughlin, S Jennings, J Heaslip (capt)
S Cronin for Strauss (58), J Hagan for Ross (66), L Cullen for Roux (52), R Ruddock for K McLaughlin (66), J Cooney for Boss (74), A Conway for Macken (37).
J McGrath, A Goodman.
J Payne, A Trimble, D Cave, S Olding, C Gilroy, P Jackson, R Pienaar, T Court, R Best, R Lutton, J Muller, D Tuohy, R Diack, C Henry, N Williams.
C Black for Court (71), K McCall for Lutton (69), I Henderson for Williams (57), R Wilson for Henry (63), P Nelson for Trimble (72).
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.