Besides Rashid and Shakib, Basil Thampi (2/14) and Sandeep Sharma (2/17) also rose to the occasion for the home team.
Earlier, young Kings XI pacer Ankit Rajpoot (5/14) registered his career-best bowling figures to restrict SunRisers to the modest score.
But the total proved enough for SunRisers as Kings XI batsmen crumbled like a pack of cards to fell short eventually and slump to their second loss in the tournament.
Chasing the modest target, openers KL Rahul (32) and Chris Gayle (23) got Kings XI’s off to great start as the duo stitched quick 55 runs in just 47 balls.
But just when it looked Kings XI will run away with the game, Afghan leg-spinner Rashid got the big breakthrough when he cleaned up Rahul with a gem of a delivery.
Big-hitting Gayle then miscued a short delivery off Thampi in the next over and the pacer accepted the chance of his own bowling.
The two wickets derailed Kings XI’s chase as Rashid and Shakib bowled brilliantly in the middle overs to keep SunRisers afloat with wickets at regular intervals.
Rashid, in particular, was unplayable as the Kings XI batsmen completely failed to read his variations.
Shakib accounted for Mayank Agarwal in the 13th over before Rashid outfoxed Karun Nair with a googly, caught plumb in front of the wicket.
Shakib then came back to dismiss dangerous Aaron Finch in the next over to make life difficult for Kings XI.
Sandeep then dismissed Manoj Tiwary and Andrew Tye in the same over as Kings XI’s chase fell apart.
Earlier, Rajpoot produced a dream opening spell, which included three important wickets, to dismantle SunRisers innings after Kings XI opted to bowl first.
The young pacer from Kanpur then returned back to pick up two more wickets in the final over to single-handedly destroy the home team.
For SunRisers, Pandey (54 off 51) scored a fighting half-century, while Shakib (28) and Yusuf Pathan (21 not out) made useful contributions.
On a roll, Kings XI had a dream start as they reduced SunRisers to 27 for three by the end of the fifth over with Rajpoot reigning havoc.
Sunrisers top-order failed to cope up with Rajpoot’s extra bounce and swing which resulted in the dismissal of Sunrisers captain Kane Williamson in the fourth ball of the innings, caught by skipper Ravichandran Ashwin.
The pacer then removed Shikhar Dhawan (11) and Wriddhiman Saha (6) in his consecutive overs to put Sunrisers in serious trouble.
Rajpoot’s extra bounce and swing first induced an edge from Dhawan which Nair gleefully accepted in the only slip and then in his next over the pacer removed Saha caught by Tye as the batsman went for a terrible cross-batted slog.
It could have been more trouble for the hosts but Tye dropped a dolly from Pandey off Rajpoot’s next delivery to deny the bowler a hat-trick chance.
SunRisers received another reprieve when Shakib was caught off Barinder Sran in the next over off a no ball.
Riding on their luck, Pandey and Shakib then steadied Sunrisers sinking ship with a toiling 52-run partnership for the fourth wicket that came off 53 balls before young Afghanistan spinner Mujeeb Ur Rahman (1/17) cut short the association, getting the wicket of Shakib in the 14th over.
Even though Pandey toiled to his fifty but it was not enough as Rajpoot returned back in the final over to cut short his stay and then accounted for Mohammad Nabi a ball later to help Kings XI restrict Sunrisers to a chaseable target.