Wasps (6) 21
Tries: Varley, Lewsey Con: Walder Pens: Walder 3
N-G Dragons (3) 10
Try: Smith Con: Connor Pen: Connor
Lewsey's try killed off the Dragons
Wasps claimed their second EDF Energy Cup victory but failed to make it to the semi-finals.
Gloucester's 11-10 win over Newcastle at Kingston Park put the Cherry and Whites into the last four instead.
The Dragons led 10-6 thanks to a try from centre Ashley Smith, but Wasps sealed victory with tries of their own from Damian Varley and Josh Lewsey.
The match went to uncontested scrums after Adam Black and replacement Dragons prop Alex Murphy were injured.
Two penalties from fly-half Dave Walder put Wasps 6-3 up, but the visitors took the lead for the only time in the match when replacement centre Marc Stcherbina cut through before laying-off a perfect pass for Smith to race in unopposed.
The match began to turn the home side's way when they pinned the Welsh side back in their own 22, but accurate throwing from Tom Willis allowed Tom Isaacs to clear the lines three times.
Walder booted his third penalty of the afternoon to reduce the arrears to one point.
But the match went to uncontested scrums after loose-head Black was forced off only for replacement Murphy to join him with a shoulder injury after just one set-piece against powerful Tim Payne.
Wasps managed to get their noses back in front when replacement Varley was driven over under a pile of bodies to the line.
Lewsey sealed the win when he pounced on a loose ball on the Dragons line to grab a second try for his side.
Wasps director of rugby Ian McGeechan:
"The Dragons were going up and coming down in scrums. My idea of scrums was that they were meant to be straight.
"We did scrummage well and it took its toll on them because they had to go to uncontested scrums because of the pressure we put on.
"The win was important today and the way we played was as well. There was some good stuff there as well."
Dragons head coach Paul Turner:
"I feel we had the beating of them behind the scrum. We defended resolutely and we just gave it up.
"We certainly had enough opportunities in the last few minutes and we didn't take them.
"I'm really disappointed that, when we went ahead at 10-6, we got a penalty immediately and went for goal from our own half when I thought it would have been better for us to kick to touch and keep the pressure on.
"Wasps, though, were quite clinical and they took their opportunities. I was impressed by their power."
Wasps: van Gisbergen, Lewsey, Hoadley, Staunton, Voyce, Walder, Robinson, Payne, Webber, Barnard, Leo, Birkett, Hart, Betsen, Worsley.
Replacements: Lawler for Hoadley (74), Mitchell for Staunton (59), Reddan for Robinson (59), French for Payne (67), Lindsay for Webber (79), Varley for Barnard (66), Ellis for Leo (62).
Newport-Gwent Dragons: Dolman, Selley, Gomer-Davies, Smith, Fussell, Connor, Isaacs, Black, Willis, R. Thomas, MacDonald, Hall, Bearman, Ringer, L. Evans, Murphy.
Replacements: Stcherbina for Gomer-Davies (41), Murphy for Black (65), S. Jones for Willis (57), Brown for Hall (76), Lydiatt for Murphy (66).
Not Used: Arlidge, W. Evans.
Ref: Chris White (RFU).