Leinster led 16-8 at the break having played with the wind but in the second half Connacht took over with their pack particularly dominant when it mattered most.
An Aidan Kearney try and the accurate boot of Felipe Contepmi saw Leinster race into a 10-0 lead after just seven minutes, with the Argentinian adding two more penalties before the break.
Mark McHugh got Connacht off the mark with a penalty after 12 minutes before good pressure brought a fine try for Darren Yapp after a swift move across the field.
Flanker Matt Lacey got in for the first of his two tries after 52 minutes when the Connacht pack drove over and six minutes later Eric Elwood levelled the game with a penalty as first Christiam Warner and then Victor Costelloe
were sent to the bin.
Leinster scored a breakaway try after 63 minutes from Gary Brown to go 21-16 in front but Connacht did not panic and their pack again delivered, with Lacey again touching down after another superb driving maul after 66
No.8 John O’Sullivan got in for his side¹s fourth try to secure a bonus point five minutes from time as the rampant Connacht pack again drove over, with Elwood adding the points to go 28-21 in front.
Matt Leek kept the game alive with a penalty two minutes from time but Connacht finished in style with Andrew Farley touching down after another excellent close range drive.