Kolkata Knight Riders 136 for 4 (Shakib 42, McCullum 41, Parnell 2-18) beat Pune Warriors 102 for 8 (Yusuf 2-12, Shakib 2-18) by 34 runs
Scorecard and ball-by-ball details

Kolkata Knight Riders set up a first qualifier match against table-toppers Delhi Daredevils as they took the No. 2 spot with a comfortable win over Pune Warriors. Like they had done against Mumbai Indians in their previous game, Knight Riders posted a decent total on a difficult pitch and their spinners choked the Warriors batsmen into a futile crawl. The home side ended a second disappointing season with their ninth consecutive defeat, an IPL record, and one that involved some questionable selections.

On a slow and low pitch which Man-of-the-Match Shakib Al Hasan said reminded him of Bangladesh, Warriors gave only two overs to Ali Murtaza, the lone specialist spinner they played ahead of their two first-choice spinners, Murali Kartik and Rahul Sharma. While Shakib, the only batsman on either side to feel at home on the pitch, rode his luck to provide the boost Knight Riders' stumbling innings needed, Warriors left out his Bangladesh team-mate Tamim Iqbal for the 16th and final time this season.

Shakib's onslaught and his 67-run stand with Brendon McCullum were crucial given Knight Riders did not have the luxury of a breezy start from the in-form Gautam Gambhir. McCullum, too, struggled to adapt his attacking game to the lack of pace but managed to keep the runs coming.

Knight Riders reached 50 as late as the 12th over, when the innings shifted gears rapidly. From 49 for 2 after 11 overs, Knight Riders took 87 off the next nine, largely due to Shakib. It was McCullum, though, who began the onslaught, pulling and swinging Ashish Nehra for consecutive fours.

Shakib could have been dismissed twice in the next over, bowled by Michael Clarke, instead Knight Riders looted 20 runs. Robin Uthappa failed to stump a charging Shakib, on 5, off the first ball and conceded four byes. Shakib charged again and lifted the second over deep midwicket for six. Off the fourth ball, a slog-sweep was put down by Parnell at deep square leg. The sixth disappeared over deep midwicket again.

The first 50 of the innings had taken 68 deliveries; the next 50 took 19. At 101 for 2 after 15 overs, Knight Riders were eyeing 150, but Warriors hit back with the dismissals of McCullum and Shakib in the 17th and 18th overs. McCullum drilled Wayne Parnell to extra cover to depart for 41 off 43, while Shakib got a yorker from Bhuvneshwar Kumar to be bowled for 42 off 30. Yusuf Pathan got a couple of fours away as Knight Riders ended on a score that ensured their three spinners had the runs to squeeze Warriors.

And that is what happened. Apart from Jesse Ryder, briefly, no Warriors batsman appeared comfortable against Knight Riders' army of spinners and medium-pacers. Robin Uthappa did guide the first delivery of the chase to the third man boundary. That was to be the only four in the Warriors innings. Uthappa soon spooned a catch to cover off Iqbal Abdulla.

Ryder skipped out to hit a couple of sixes and at one stage, Warriors were 51 for 1 in the eighth over. It was a matter of time though. Clarke, back from his wedding in Australia to play a lone inconsequential IPL game, ahead of Tamim, was stumped off a Yusuf wide for 13 off 18. In his next over, Yusuf, who has had a forgettable season, dislodged Ryder, bowled after a weak attempt at a sweep.

Sourav Ganguly lasted eight deliveries before Shakib trapped him in front. A season that had started with three wins in four games soon ended in the ninth successive defeat for Warriors. Given their form, it is good for them that they ran out of games to play.

Knight Riders now have two shots to try and get into the final. They will be playing Daredevils on this ground on Tuesday.

Abhishek Purohit is an editorial assistant at ESPNcricinfo