Kumar Sangakkara's half-century, and three wickets each by Piyush Chawla and Irfan Pathan, helped Kings XI Punjab beat table toppers Mumbai Indians by six wickets in the Indian Premier League match in Mohali on Friday.
Captain Sangakkara led from the front, scoring a brisk innings from 56 from 42 balls, as Punjab, chasing 154, scored 158 for four in 19.2 overs to win with four deliveries to spare.
It was just their third victory in 11 matches.
Earlier, Mumbai Indians were restricted to 154 for nine in their 20 overs after they elected to bat.
Chawla triggered a top-order collapse as he registered excellent figures of three for 24, while Pathan showed great control to claim three for 29.
Mahela Jayawardene gave Punjab a flying start, smashing 31 from 18 deliveries, inclusive of seven boundaries, before he was caught at mid-on. Fellow-opener Adrian Barath also chipped with a useful 33 from 27 balls before he was trapped leg before wicket as he missed an attempted sweep shot.
Yuvraj Singh disappointed in a sedate innings of 15 from 21 balls, holing out Kieron Pollard to JP Duminy on the midwicket fence.
Duminy, playing his first match of the tournament, top-scored with 35 from 28 balls, while Ambati Rayudu made a quick 33 from 18 balls as Mumbai's batsmen once again were undone away from home.
Mumbai have now lost two matches in a row away from home, but still stay top of the standings with 14 points from 10 games.
Irfan Pathan gave Punjab an early breakthrough when he bowled Shikhar Dhawan (2) off an inside edge in his first over of the innings.
Electing to bat first, Mumbai tried to take advantage of the fielding restriction and promoted Ambati Rayudu to number three to take on the bowlers. And he did exactly that. He got the first boundary of the innings when he flicked Brett Lee through square leg and then pulled a short delivery through fine leg for another four, in the third over.
Pathan also suffered in the next over as Rayudu hit him for three boundaries.
Sachin Tendulkar also joined the party, hitting the first ball from Love Ablish through point for his first boundary.
Rayudu continued finding the fences as he slammed Ablish for back-to-back boundaries to take Mumbai to 45 for one after five overs.
Piyush Chawla cleaned up Rayudu with the quicker delivery, dismissing him for a quick 33 from 18 balls, and then foxed Saurabh Tiwary with the googly to have him stumped for four.
The young leg-spinner then bagged the big wicket of Tendulkar, who tried to sweep across the line, but missed and was bowled for 29. Mumbai were reduced to 74 for four after ten overs.
R Satish made 20 before he was caught behind off Pathan as Mumbai continued to slip by losing wickets at regular intervals.
JP Duminy tried to break the shackles and charged down the wicket to loft Ramesh Powar over long-on for his first six, in the 15th over.
Kieron Pollard was dropped on nine when he hit a full toss from Lee down the ground, but Ablish dropped the catch at wide mid-off. But the bulky West Indian fell in the next over for 18, bowled by a yorker from Pathan, who finished for three for 29 in four overs.
Duminy got his second six when he swept Lee over square leg in the penultimate over of the innings that went for 15 runs. But Ablish kept the total in check by taking two wickets and giving away just four runs.
Harbhajan Singh was beaten by the slower delivery as he tried to heave it across the line and was caught behind for nine. Ryan McLaren was also done in by Ablish's change of pace and bowled for a duck, while Duminy was run-out off the final delivery after scoring 35 from 28 balls.
Mumbai finished on a disappointing 154 for nine in their 20 overs, with 45 runs coming from the last five overs for the loss of four wickets.
Kings XI Punjab:
The in-form Mahela Jayawardene got the innings off in some style, hitting Ryan McLaren for back-to-back boundaries in the opening over of the innings.
Zaheer Khan also suffered the same fate at the hands of Jayawardene, the Punjab opener driving him straight down the ground and through the covers in the next over.
Surprisingly, Mumbai kept Harbhajan Singh back, unlike the earlier games when he was given the new ball.
Lasith Malinga came in to bowl the third over and, like all his team mates before him; he also got some rough treatment from compatriot Jayawardene, who slammed him for three boundaries.
Adrian Barath also took a cue from Jayawardene's book and hit Harbhajan straight down the ground for the first six of the innings to take Punjab to 41 for no loss after four overs.
It was Malinga who finally made the vital breakthrough for Mumbai, with the big wicket of Jayawardene. The right-hander hit a slower delivery straight to Saurabh Tiwary at mid-on and was out after a quick 31 from 18 balls, inclusive of seven boundaries.
To add to Mumbai's woes, Harbhajan struggled on a pitch that seemed on the slower side. Sangakkara and Barath hit him for a boundary each in his second over as Punjab looked comfortable at 56 for one in six overs.
Without taking risks, Punjab were getting the boundaries regularly. Zaheer conceded three in his second over, Sangakkara hitting two of them and Barath pulling one through square leg for another four.
It was part-timer JP Duminy who provided Mumbai the second wicket. Barath tried to play the sweep but missed and was trapped in front of the stumps for 33 from 27 balls, which had four boundaries and a six.
Just six runs came from two overs as Punjab reached 93 for two after 12 overs, needing 62 from 48 balls for victory.
Sangakkara broke the shackles when he stepped down the wicket to Duminy and hit a straight six.
In the following over, Yuvraj Singh got his first boundary, playing the late cut against Harbhajan.
With 32 needed from the last four overs, Punjab looked clear favourites. However, Kieron Pollard made things interesting when he claimed the wicket of Yuvraj, who was caught at midwicket by Duminy after a sedate knock of 15 from 21 balls.
Sangakkara hit Pollard through the covers to ease the pressure and make it 23 needed from the last three overs.
The Punjab captain completed his half-century off 39 deliveries with a boundary through covers as Satish misfielded on the boundary.
With 15 needed from two overs, Irfan Pathan titled the balance in his team's favour with a huge six off Malinga. But Sangakkara threw his wicket away as he lofted Malinga straight to Dhawan at long-off after a good innings of 56 from 42 balls, inclusive of six boundaries and a six.
Reetinder Sodhi, playing his first IPL match, hit a full toss from Malinga for a boundary and Pathan slammed Zaheer over mid-on for another four to win the match for Punjab.
Pathan, who took three wickets with the ball, finished off things as he scored 15 from six balls. Punjab amassed 158 for four in 19.2 overs and won the match by six wickets.
Harbhajan failed to deliver as he went for 34 runs in his four overs, while part-timer Duminy had a better outing, claiming one for 15 in three overs.