Six penalties from the boot of fly-half Felipe Contepomi helped Leinster knock Ulster off their Celtic League perch with a deserved victory at Donnybrook.
Leinster: (14) 30:
Try: Potts, Hickie
Pens: Contepomi 6
Ulster: (7) 23:
Tries: Wallace, Best
Cons: Humphreys 2
Pens: Humphreys 3
Ulster had led briefly with a Paddy Wallace try but that was matched by an effort by Leinster's Ciaran Potts.
Contepomi's boot took Leinster 20-13 ahead before a Neil Best try and David Humphreys conversion levelled the game.
But Denis Hickie scored the decisive try with five minutes left as Contepomi and Humphreys again swapped penalties.
The result spoils Ulster unbeaten start to the season, but still sees them nestle into behind current leaders Munster and Edinburgh.
Mark McCall's side could not have got off to a better start with a try in the opening couple of minutes.
A neat kick by scrum-half Kieran Campbell was not gathered by Hickie, and full-back Wallace, who had a night of fluctuating fortunes, pounced to score with Humphreys converting.
Three Contepomi penalties and a try by 20th minute try by flanker Potts after the Ulster defence went missing, saw Leinster take a deserved lead.
Ulster were under tremendous pressure right from the resumption, even though Humphreys reduced the leeway with a penalty.
Contepomi and Humphreys again swapped penalties before a great break by Bowe, set up position for Humphreys to put flanker Best in for his third try in two games in the 68th minute.
But back came Leinster and after good work by a stronger and much more determined pack, Hickie emerged from a ruck to break through two tackles and force his way over.
Contepomi converted and added a late penalty but Humphreys replied with a massive kick to claim a bonus point for Ulster.
Leinster: Dempsey, Hickie, Horgan, Contepomi, Kearney, Warner, Easterby, Corrigan, Jackman, Green, Williams, Gissing, Potts, Gleeson, Heaslip.
Replacements: D'Arcy for Kearney (71),
O'Meara for Easterby (33), D. Blaney for Jackman (71),
McCormack for Green (80), Dillon for Gissing (71),
Miller for Potts (40).
Not used: Lewis.
Ulster: Wallace, Bowe, Trimble, Maggs, Topping, Humphreys, Campbell, J. Fitzpatrick, R. Best, S. Best, Harrison, McCullough, N. Best, McMillan, Wilson.
Replacements: Howe for Topping (64),
B. Young for J. Fitzpatrick (61), Shields for R. Best (70),
Frost for McCullough (61).
Not used: Feather, Spee, Larkin.
Referee: Olan Trevor (Munster).