Sandeep Sharma's terrific opening spell inspired Kings XI Punjab to a 19-run victory over Royal Challengers Bangalore, whose batting woes continued on Friday.

The seamer took 3-22 and became the first man in IPL history to dismiss Chris Gayle, Virat Kohli and AB de Villiers in one match as Kings XI gave their play-off hopes a boost by successfully defending 138-7.

In their last five matches, RCB had posted scores including 49 all out, 134 all out and 96-9 but even with confidence low and a slow pitch making life difficult, the visitors' first-innings total appeared eminently gettable.

That proved not to be the case, however, as a star-studded top order featuring the aforementioned trio were blown away by Sandeep, who bowled his four overs through at the start before RCB crumbled to 119 all out.

Mandeep Singh's 46 from 40 balls was the best the hosts could muster, but when he was cleaned up by skipper Glenn Maxwell (2-15), RCB were 73-6 and staring down the barrel of a ninth defeat from 12 that leaves them rooted to the foot of the table.

Conversely, Kings XI moved to within three points of the top four with a game in hand, although their triumphant finish to this match was a far cry from the first over, which saw Hashim Amla depart for one, opening partner Martin Guptill (9) soon following.

Shaun Marsh (20) and Manan Vohra (25) made contributions of sorts, but the run rate remained below six an over and the visitors' cause was not helped by Maxwell holing out for six to leave them 78-5 in the 14th.

Wriddhiman Saha - who escaped a terrible missed stumping when he was on just one - made 21 and contributed to a stand of 34 alongside Axar Patel, who took 19 off Shane Watson in the final over to finish unbeaten with 38 from 17.

Sandeep carried the momentum gained from Axar's cameo into the reply and had Gayle held at point without scoring, before Kohli (6) was cleaned up in his next over and De Villiers (10) edged behind in his third.

Opener Mandeep provided home fans with a degree of hope, striking five boundaries and two sixes, but Maxwell and Axar (3-11) ran through the lower order before Mohit Sharma (2-24) brought an end to another miserable RCB batting display.