The England duo each hit half-centuries as the Kings hit 209-9, before Kagiso Rabada (3-21), Rishi Dhawan (2-36), and Rahul Chahar (2-37) wrecked RCB's top-order.
Glenn Maxwell's 35 marked the best individual performance of Bangalore's chase, as they finished 54 runs short of the Kings' tally.
With 14 points, RCB's place in the play-offs now looks vulnerable ahead of their final clash with table-topping Gujarat Titans, while the Kings kept their own hopes of a top-four finish alive with two games left to play.
Having been put in to bat by Faf du Plessis, Punjab quickly set about building a tough target, reaching 60 before their first loss when Shikhar Dhawan went for 21.
Bhanuka Rajapaksa followed, but that simply allowed Livingstone to step up and produce a terrific display alongside Bairstow, who struck 66 from 29 balls before falling to Shahbaz Ahmed in the 10th over.
Livingstone plundered a rapid 70 to ensure the Kings recovered, and RCB's hopes were severely dented when Virat Kohli, Du Plessis and Mahipal Lomror were sent packing within the opening five overs.
Maxwell's 12th-over dismissal all but sealed victory for Punjab, with Rabada adding the wickets of Shahbaz Ahmed and Harshal Patel.
Dhawan's blushes spared as Bairstow and Livingstone turn on the style
Although the Kings' best-performing batsmen Dhawan fell short of his season average of 40, a combined 136 from Bairstow and Livingstone propelled Punjab to victory.
Rabada on a roll
Fast-bowler Rabada led the Kings' attack admirably to end the contest with three wickets, taking his tally for the season to 21, some seven clear of his closest team-mate in Rahul.
The 41-year-old big hitter had been expected to come into the line-up on Thursday, for the first time this season, but was forced to watch from the sideline after battling with a bout of food poisoning. The team plummeted to a 5th loss of the season, from its first six games.
Frustration has grown with Maxwell as the all-rounder has managed just 48 runs in six matches. It was hoped the player would replicate his heroics from the previous edition but another low score on Thursday has put his place in jeopardy.
"The message was very clear that they were not happy with Maxwell. It’s a clear statement if Chris Gayle walks in, Maxwell walks out," Former India spinner Pragyan Ojha told Sports Today.
Ojha believes the team’s batting struggles have also impacted KL Rahul who he does not believe is playing like his usual self. Ojha believes the issue is the burden of supporting what has proven to be a rather fragile middle-order.
. “I think he was just trying to play because he knew that the middle order is not doing well, that pressure and this game you know when you have over 200 runs to chase, any batsman would feel the pressure. And Rahul knows that if he and Mayank don’t do well, they have a fragile middle order. Anil Kumble mentioned Chris Gayle, they wanted him to play but he was not well.”
Things looked bleak for the Titans when they saw their top order dominated early on, but Hardik's magnificent 87 helped them to 192-4, before the Gujarat attack blitzed their rivals midway through the Royals innings.
Lockie Ferguson and Yash Dayal finished with three wickets apiece as the Royals could only muster 155-9 in reply, sending the Titans two points clear at the top of the IPL table.
The Titans elected to bat after winning the toss but made a dreadful start when both Matthew Wade (12) and Vijay Shankar (2) went early on, the former being run out by Rassie van der Dussen and the latter caught by Sanju Samson.
They steadied themselves to reach 53 before Shubman Gill was dismissed for 11 in the sixth over, before captain Hardik, supported well by Abhinav Manohar (43) and David Miller (31 not out) dragged them back into contention with an outstanding batting display.
Hardik was undoubtedly the star of the show, his 87 off 52 balls almost single-handedly setting a difficult target of 192 as the Royals attack struggled in the absence of fast bowler Trent Boult.
Jos Buttler (52) drove Rajasthan to a decent start with the bat, hitting eight fours and three sixes either side of partner Devdutt Padikkal being dismissed for nought with the very first ball he faced.
Replacement Ravichandran Ashwin went for eight shortly after and the wickets began to tumble in quick fashion once Buttler was finally bowled out by Ferguson, with Samson (11), Van der Dussen (6), and Shimron Hetmyer (29) all walking for the addition of 60 runs.
The below-par Royals eventually lost nine wickets without threatening the target of 193, as Ferguson and Dayal helped themselves to three dismissals each.
Hardik drives Titans with spectacular display
Hardik's brilliant display with the bat drove the Titans to a strong position after a difficult start, falling just five runs short of recording his best IPL showing with a haul of 87.
Debutant Dayal blitzes poor Royals
Three wickets from Dayal on his Titans debut, as well as three from Ferguson, made the win more comfortable than it could have been, with the Royals' final three wickets falling for just 17 runs.
Despite Hardik Pandya (67) racking up another half-century for the leaders, Andre Russell's (4-5) superb late display wrecked the Titans' bottom-order to limit them to just 156-9.
However, Kolkata's attempts to chase down that seemingly achievable target were left in disarray after early exits for Sam Billings (4), Sunil Narine (5), and Nitish Rana (2).
Russell (48) fell just short of a half-century with the bat as he attempted to single-handedly drive his side to victory, but Lockie Ferguson's excellent catch sent him packing in the 19th over and sealed a hard-earned victory for the Titans.
Titans skipper Hardik elected to bat after winning the toss, going on to hit 67 in another outstanding knock as his side targeted a third consecutive IPL win.
Shubman Gill was removed for just seven runs early on, but Hardik's excellent showing led the Titans to 83 before Wriddhiman Saha (25) was dismissed by Umesh Yadav.
David Miller (27) supported Hardik well, but after the duo were caught in the 16th and 17th innings respectively, the wickets fell in rapid fashion as Russell took charge.
He dismissed Rahul Tewatia (17), Abhinav Manohar (2), Ferguson (0) and Yash Dayal (nought) to bag four wickets in a remarkable final over, but a nightmare start to the Knight Riders' own innings saw their hopes of a first win in four IPL matches dissipate.
Billings, Narine and Rana all fell for single figures as the Knight Riders toiled to 16-3, although Rinku Singh's knock of 35 then dragged them back into the contest.
The outstanding Russell then hit 48 off 25 balls to set up tense finale, but was caught by Ferguson two balls into the final over as the Knight Riders fell to a demoralising fourth consecutive loss.
Russell runs riot with the ball, and goes close with the bat
Russell was incredibly unlucky to finish on the losing side, registering a terrific performance with the ball and then almost dragging his team-mates to victory after taking up the bat, only to be felled just two runs short of his half-century.
Hardik show proves vital
Hardik's 67 looked to be in vain for much of the contest, but the skipper's performance eventually proved crucial, accounting for over a third of his team's score before the Kolkata top-order collapsed.
De Kock had earlier been left red-faced when he dropped Pat Cummins on 36 and the Australia paceman went on to make his maiden IPL half-century on Friday.
An unbroken stand of 87 between Cummins (53 not out) and new captain Eoin Morgan (39no) got KKR up to 148-5 in Abu Dhabi.
Rahul Chahar was the pick of the Mumbai bowlers with 2-18 and it was South Africa wicketkeeper-batsman De Kock who played the biggest hand with the bat.
The left-hander smashed an unbeaten 78 off 44 balls to get the defending champions home with 19 balls to spare, sealing a sixth win in eight games.
De Kock has now made three half-centuries in his last four innings, although he did have a bit of fortune when Varun Chakravarthy missed a tough chance to send him on his way for 20.
Rohit Sharma made a slow 35 by his usual standards in an opening partnership of 94, while Hardik Pandya weighed in with a brisk 21 not out.
Victory for Mumbai moves them to the summit, level on points with Delhi Capitals, while the Knight Riders are fourth.
CHAHAR DOUBLE STRIKE JOLTS KKR AT START OF MORGAN REIGN
Kolkata announced on the day of the game that Dinesh Karthik had handed over the captaincy to England's white-ball skipper Morgan.
Morgan opted to bat after winning the toss and might have been wondering if that was the right call when his side were 61-5 after Jasprit Bumrah removed Andre Russell.
The excellent Chahar had Shubman Gill caught at long-on and Karthik played the next ball on, so it was left for Morgan and Cummins to come to the rescue.
Cummins and Morgan both struck two sixes as they produced a much-needed late flurry of runs, Nathan Coulter-Nile (1-51) proving to be particularly expensive.
DE KOCK STARS IN RUN CHASE
The destructive De Kock produced another devastating exhibition of clean striking, moving into the top 10 in the list of the highest run-scorers in the 2020 edition of the IPL.
He was the chief aggressor in the opening partnership with Rohit, who faced 36 deliveries.
De Kock struck two of his three maximums in a costly seventh over from Prasidh Krishna, also hitting nine fours in another high-quality knock.
The 27-year-old has 269 runs in the tournament at an average of 38.42 and, on this evidence, there may be plenty more to come.
Ishan Kishan (45) and Rohit Sharma (43) made it a good start for Mumbai with the bat, but the IPL's bottom side suffered a succession of losses midway through their innings as they reached 177-6.
The Titans appeared to be well on their way to chasing down that target, as Wriddhiman Saha (55) and Shubman Gill (52) fired them to 106 before their first loss.
However, the Titans suffered their own middle-order collapse, with Sams eventually producing a terrific final over to deny them the nine runs they needed for victory.
Having been put in to bat, Mumbai began strongly, with their classy top-order pair holding out until the eighth over before Rohit was dismissed by Rashid Khan following a review.
While Ishan went in the 12th over, Suryakumar Yadav (13), Tilak Varma (21), and Kieron Pollard (four) struggled to make inroads as Khan recorded another wicket and two catches, before Tim David hit 44 off 21 balls to set a respectable target for the Indians, who claimed their first victory of the season last time out after losing their first eight contests.
Having watched the Mumbai top-order produce a strong display, Saha and Gill went even better until the 13th over when both fell to Murugan Ashwin, before Sai Sudharsan and Hardik went for 14 and 24 respectively as Mumbai set up a tense finale.
Having failed to take a wicket in his two previous overs, Sams took the ball for the decisive final moments, denying David Miller (19 not out) a crucial boundary with the final two balls as the Indians belied their dreadful season to limit the Titans to 172, claiming a dramatic win.
Ashwin eliminates dangermen to kick-start comeback
Ashwin's two wickets were crucial in instigating Mumbai's fightback, taking down Saha and Gill when the table-topping Titans looked certain to cruise to victory, recording his seventh and eighth wickets of the campaign.
Indians share the scoring with the bat
Neither Ishan nor Rohit have reached top form this term, averaging just 30.00 and 19.80 respectively, but their combined 88 established a foundation for Mumbai's victory, while David's quickfire 44, his highest score of the campaign, provided just enough impetus to get Mumbai over the line.
Half-centuries from Mayank Argarwal (52) and Shikhar Dhawan (70) established a commanding lead for the Kings, which Mumbai always looked unlikely to reach once Rohit Sharma went for 28.
Dewald Brevis (49) and Suryakumar Yadav (43) both looked to spearhead an unlikely revival for Mumbai, but fell narrowly short of half-centuries as they suffered a fifth consecutive loss.
Mumbai elected to put the Kings into bat when winning the toss, but Agarwal and Dhawan struck up an excellent partnership as the Mumbai attack struggled to make headway early on.
The Kings reached 97 before Argarwal was caught by Yadav, before Jonny Bairstow and Liam Livingstone were bowled out for 12 and two runs respectively.
Dangerman Dhawan was finally caught by Keiron Pollard after joining Argarwal in hitting a half-century, after which a decent showing from Jitesh Sharma (30) and a mammoth haul of 28 runs in the 17th over carried the Kings to 198.
Mumbai skipper Rohit was tasked with leading the response with the bat, but their hopes of avoiding another defeat looked slim once he fell for 28, particularly once partner Ishan Kishan went for just three runs shortly after.
Brevis and Tilak Varma subsequently sought to lead a stunning response, with the former smashing four consecutive sixes in a spectacular eighth over before falling to Odean Smith when one run short of his own century.
Tilak was run out by Argarwal soon after, before Pollard suffered a calamitous run-out for just 10 at the hands of Smith as Mumbai's hopes faded.
Yadav looked to lead once last attack for the batting side, but fell for 43 in a thrilling 19th over as the Kings held on for a third victory in five IPL outings, Smith posting three wickets in a comfortable final over.
Kings duo star with the bat
Half-centuries from the Kings' top-order batsmen set them on their way to victory, with Argarwal reaching 52 and Dhawan 70 in an outstanding display, setting a target which proved beyond Mumbai after their own top-order fell in quick fashion.
Stunning finish sees Smith rack up the wickets
Smith, meanwhile, finished with a brilliant four wickets from 30 balls for the victors after accounting for the last three dismissals of the match, as Mumbai collapsed after Yadav fell in the 19th.