Reddan scored two of his side's five tries at Adams Park
Wasps: (13) 35
Tries: Reddan 2, Haskell, Cipriani
Cons: King 3
Pen: King 3
Leinster: (10) 13
Wasps outplayed Leinster in the second half to power their way into the Heineken Cup semi-finals.
Alex King kicked the hosts into a 6-0 lead before Leinster's Chris Whitaker burst over but Eoin Reddan's long-range try put Wasps 13-10 ahead at the break.
Lawrence Dallaglio's sin-binning looked to have turned things Leinster's way, but Wasps scored twice in his absence and went from strength to strength.
James Haskell, Danny Cipriani and Reddan all crossed to seal the victory.
It is the first time Wasps have reached the knock-stages since they won the tournament in 2004, and they now face an away semi-final against Northampton - shock winners over Biarritz in San Sebastian - at Coventry's Ricoh Arena.
The match was billed as the hosts' forwards against Leinster's backs, and there was no doubt about which unit came off best at Adams Park.
With Brian O'Driscoll out injured, much rested on Leinster's Felipe Contepomi and the Argentine got off to an inauspicious start as his kick-off failed to travel the required 10m.
In contrast, Wasps number 10 Alex King began with a well-struck penalty in the second minute to settle his side, and a second kick 10 minutes later confirmed Wasps' dominance.
Contepomi struggled to get the Leinster backline going
King finally put a foot wrong as his long-range penalty ended inches under the bar, and Leinster took advantage of the reprieve.
A fluid handling move and a drive from the hard-working Stephen Keogh set up the position, and Whitaker burst into a gap created by a slight misjudgement by Joe Worsley to cross unopposed.
Wasps were lacking fluency, with Cipriani guilty of stopping two promising moves in their tracks. The 19-year-old was playing in the biggest match of his fledgling career, and Leinster were not slow to target him.
Denis Hickie put in one huge hit on the youngster and Gordon D'Arcy could be seen whispering sweet nothings in Cipriani's ear as the full-back regained his feet, provoking a brief flare-up.
Leinster attempted a move down the blind side, but the ball was knocked out of Whitaker's hands in contact and fell perfectly for Reddan to race in from halfway.
But it was Leinster who enjoyed the best of the remaining minutes and with the pressure on, Dallaglio felt he had no choice but to kill the ball under the posts - and the referee felt he had no choice but to send the former England captain to the sin-bin.
Contepomi kicked the resulting penalty to send his side into the break three points adrift.
But if Leinster had planned to take advantage of their numerical advantage with an assault in the opening minutes of the second half, they were severely disappointed.
Cipriani recovered from an uncertain start to score a key try
Wasps replacement Haskell - on for Worsley - burst over two minutes after the break following a subtle pass out of contact from Tom Palmer.
Dallaglio's absence seemed to be having an impact for Wasps, but only in so far as they seemed to be playing with more aggression and belief.
And Cipriani made up for his torrid first half by scoring Wasps' third try after excellent build-up play from Simon Shaw and Haskell.
Young Wasps centre Dominic Waldouck also ended up in the bin after tackling Contepomi without the ball, but the numbers were soon evened up by Malcolm O'Kelly's yellow card.
Wasps were playing like men possessed, and a brilliant spell of turning over ball saw Tom Rees set up the chance for Reddan to go over for the score that put the result beyond doubt.
Leinster never gave up, but the ideas dried up rapidly as Wasps held on for a comfortable victory.
Wasps: Cipriani; Lewsey, Waters, Waldouck, Voyce; King, Reddan; Payne, Ibanez, Vickery, Shaw, Palmer, Worsley, Rees, Dallaglio (capt)
Replacements: Ward, Bracken, Leo, Haskell, McMillan, Erinle, Van Gisbergen.
Leinster: Dempsey; Horgan, Lewis, D'Arcy, Hickie; Contepomi (capt), Whitaker; Wright, Jackman, Green, Hogan, O'Kelly, Keogh, Gleeson, Heaslip.
Replacements: Blaney, Corrigan, Finegan, Jowitt, G Easterby, Warner, Kearney.