Kolkata Knight Riders 116 for 5 (Kallis 41, Vinay Kumar 2-17) beat Royal Challengers Bangalore 115 for 9 (Gayle 33, Narine 4-22) by five wickets
Scorecard and ball-by-ball details

Kolkata Knight Riders kept their 100% record of successfully chasing totals under 120 intact as they triumphed at their second home in Ranchi. Their bowlers were largely responsible for keeping them in the competition, having restricted Royal Challengers to their lowest total in a first innings of an IPL match in India.

Through good lengths and variation, they ensured the batsmen would not have to toil as much as Royal Challengers' troops did. They laboured through the slowest Powerplay in this year's tournament, with only 22 runs from the first six overs and limped to their slowest century of 2013, off 102 balls. They managed just seven boundaries in their innings, their second lowest count in the tournament's history.

Knight Riders' selection of Sachithra Senanayake proved a shrewd move on a slow surface, as he and L Balaji made run-scoring difficult upfront. Chesteshwar Pujara was dismissed for 5 as he tried to hit out, but Chris Gayle managed his frustrations well.

His only four came from an edge past first slip and he had little respite, besides Ryan ten Doeschate's sole over, in which Virat Kohli and Gayle took 14 runs of it. Kohli, however, didn't last long, playing on off Jacques Kallis for 17.

Four boundary-less overs followed before Gayle's vigil was broken. He went forward to defend the first ball of Sunil Narine's second over, but it turned past the outside edge, and he was stumped with his toe right on the line.

Gayle was Narine's first scalp. Saurabh Tiwary, Ravi Rampaul and Abhimanyu Mithun were the other three which took the West Indian to the top of the wicket-charts with 22 to his name. He tied Royal Challengers up at the end of their innings, after Balaji got rid of a threatening looking AB de Villiers.

The South African one-day captain managed a paddle and a loft over extra cover before he was caught behind, trying to tickle the ball fine. Had de Villiers lasted into the last four overs, Royal Challengers may have been able to eye a total over 130, but they had to settle for a below-par 115 for 9.

Despite the sluggish surface, they needed a better bowling effort than their attack has seemed capable of producing this season. Ravi Rampaul gave them some hope when he had Manvinder Bisla caught at point off the second ball. He should have accounted for Kallis too, but Mithun badly misjudged the catch at fine leg, running in before realising he had underestimated the strength of the shot.

Kallis capitalised on his let off and anchored the chase almost to the end. The required run rate hovered around a run-a-ball throughout, but Royal Challengers could not build any pressure. Gautam Gambhir took three fours off a Mithun over that was peppered with generously short balls, and Murali Kartik conceded boundaries when he tossed it up.

Kallis and Manoj Tiwary worked the ball around, and even though both were dismissed at the twilight of the match, they had done enough. Ryan ten Doeschate hit the winning runs to make qualifying for the playoffs an uphill battle for Royal Challengers in their remaining matches.

Firdose Moonda is ESPNcricinfo's South Africa correspondent