Placed at third in the standings after eight wins from 13 games, Pune will now need to win their final league game against fifth-placed Kings XI Punjab to qualify for the play-offs. Delhi, despite their two back to back wins, are placed sixth and out of the race to the play-offs.
Chasing 169, Bengal batsman Manoj Tiwary raised the hopes of the visitors with a 45-ball 60, laced with five boundaries and three sixes before finding themselves seven runs short in the end. Skipper Zaheer Khan gave Delhi a stunning start by picking Ajinkya Rahane for a duck off the very first ball of the innings before packing back the in-form Rahul Tripathi (7) in his third over.
With the visitors finding themselves at a precarious 36/2, skipper Steve Smith (38) provided some resistance, raising a 38-run third wicket stand with Tiwary.
Smith looked in great touch in the middle, slamming Shahbaz Nadeem for three consecutive boundaries, including a flat six before the left-arm spinner trapped him plumb on the first ball after the strategic time-out.
Reeling at 74/3, all-rounder Ben Stokes (33) provided some momentum to the chase, adding 51 runs for the fourth wicket with Tiwary, who by now had got two lives, once on 34 when he was dropped by Sanju Samson and then on 40, dropped by Karun Nair.
Coming in at the fall of Smith, the Englishman slammed three fours and two massive sixes during his 25-ball stay, which was cut short by pacer Mohammed Shami off a low full toss, which Corey Anderson latched on comfortably. Shami then jolted the visitors with a brilliant direct hit at the bowler's end to dismiss Mahendra Singh Dhoni for a run-a-ball (5) before trapping Daniel Christian (3) to further dent their hopes.
With 25 required off the final over, Tiwary slammed Pat Cummins for two consecutive sixes to bring up his half century before the Australian came back strongly to dismiss the Bengal right-hander in the final ball.
Earlier, Nair's 45-ball (64), laced with nine hits to the fence, helped Delhi recover from a precarious position after the visitors had reduced the home side to 9/2 in three overs. Electing to bat after calling the toss correctly, Daredevils were off to a disastrous start, losing the key wickets of opener Sanju Samson (2) and one down Shreyas Iyer (3) cheaply.
Nair and wicketkeeper-batsman Rishabh Pant (36) then steadied the ship with a 74-run third wicket stand as the right-left combo took the attack to the opposition in no time.
The first three overs yielded only 11 runs for Delhi before Nair started the onslaught slamming Washington Sundar and Ben Stokes for five boundaries in two overs.
Pant wasn't left too far behind, slapping Sundar for a flat six over midwicket before milking Shardul Thaur for three boundaries as Delhi got back the momentum to yield 62 runs in the next five overs.
Later on, West Indian Marlon Samuels (27) added 34 runs for the fifth wicket with Nair before stumper Mahendra Singh Dhoni plucked off a stunning catch off Christian to pack back the Caribbean batsman.
Despite losing his partners at the other end, Nair, who had faced 37 balls by then completed his half century and together with Amit Mishra (11 not out) added a quickfire 22 for the seventh wicket to help Delhi go past the 150-run mark.
Delhi's young batsmen need consistency, says Dravid
IPL 10: Delhi, Bangalore aim to finish with a win
IPL-10: Delhi keep Pune waiting for play-off qualification
IPL-2017: Nair's patient half century takes Delhi to 168/8 vs Pune
IPL 10: Shreyas Iyer stars in Delhi's 2-wicket win over Gujarat
IPL 10: Delhi Daredevils vs Gujarat Lions, Match 50 Latest Score Updates
Delhi Daredevils bowled out for 66, suffer 146-run loss to Mumbai
IPL: Resurgent Delhi Daredevils face table-toppers Mumbai Indians
IPL 2017: Delhi Daredevils won by 7 wickets
IPL-2017: Daredevils aim to tame Lions at Kotla