Mumbai Indians 180 for 6 (Rana 50, H Pandya 29*, Rajpoot 3-37) beat Kolkata Knight Riders 178 for 7 (Pandey 81*, K Pandya 3-24) beat by 4 wickets
Scorecard and ball-by-ball details

On a high-scoring, field-first ground, and fighting considerable dew, Kolkata Knight Riders nearly won with an under-par 178 but failed to defend 59 in the last 23 balls. In the cauldron, with the home crowd burning their ears and a wet ground underfoot, the visiting Knight Riders just froze in the field after taking out almost all the big guns from Mumbai Indians.

Almost. Because at 119 for 5, Mumbai sent out Hardik Pandya, whose cameo met Nitish Rana's hitherto solid innings to stage a heist. Rana went from 29 off 23 to 50 off 28, and Hardik hit the winning runs in his 11-ball 29. The night belonged to the brothers after Krunal Pandya dragged Knight Riders back with his left-arm spin of 4-0-24-3. Two of these wickets read c Pandya b Pandya.

Looking London, going Tokyo with K Pandya

Chris Lynn came into this match on the back of an explosive 93, but he goes at only 6.16 against left-arm spin. It was expected, then, that Krunal would bowl early in the innings. Knight Riders had already run away to 44 in four by the time he came on, and Lynn was not on strike first ball. Doesn't matter, because Krunal took two bonus wickets of Gautam Gambhir and Robin Uthappa in that over.

Sometimes a wide is better than going for a boundary

The other thing about Lynn was his wagon wheel in his 93. He scored 52 off those runs in 17 hits to leg, and not one behind square. So Mumbai bowled to him with a long-on and a cow corner, short and into the body, denying him the swing of the arms. The quicks even bowled two wides to him down the leg side. In the end, against Jasprit Bumrah, Lynn went to hit square, to miss that man at cow corner, and moved too far across to be lbw with Knight Riders at 67 for 3 in the eighth over, with a middle-overs slowdown to follow.

Pandey to the rescue

Manish Pandey, who before this match had scored 53 off 53 Harbhajan Singh deliveries, was part of that slowdown when Harbhajan and Krunal turned the screws. Pandey, though, can shift gears dramatically. His overall strike rate in IPL is 111 over the first 30 balls of an innings, and 173 off the next 30. Here he went from 35 off 30 to 81 off 47, taking Mitchell McClenaghan apart in a 23-run final over.

Confusion at the top

Perhaps Mumbai don't trust Parthiv Patel to bat anywhere other than against the new ball. Perhaps they want a big batsman in the middle. Perhaps they are not giving it enough thought, but their top four remains a muddle. Knight Riders bowled superbly against Jos Buttler, Parthiv, Rana (promoted ahead of Rohit Sharma) and Rohit to reduce them to 74 for 3 in 10. There was swing for Trent Boult, pace from Ankit Rajpoot, and guile from the two spinners, Kuldeep Yadav and Sunil Narine.

Pollard gone, game over?

This was now becoming Kieron Pollard v Knight Riders. Pollard even blocked out a whole over from Kuldeep to turn 73 off 41 into 71 off 36. Soon it went past two runs a ball and nudged 2.5 a delivery as Pollard struggled against fellow Trinidadian Narine. Pollard was now ripe for the taking, and Chris Woakes did so with a wide bouncer. This was the 17th over, the wheels were about to come off.

Own goal after own goal

The ground was pretty wet by now. The pitch was still flat. The boundaries were still small. Mumbai still needed just one man to get on a roll. It all began with a fielding error. Rana set off for a desperate single, the throw from mid-off came in, and Woakes didn't have the ball in his hands when he removed the bails. Rana should have been out for 28 off 22. And then both of them got on a roll.

With Gambhir off the field, Suryakumar Yadav bucked the trend of bowling the best bowler in the 19th, and kept 18th and 20th for Boult. Nineteen came off the 18th over with Boult missing the yorker twice. It is arguable if they should have been bowling yorkers with the wet ball, but at Wankhede, length is not the answer either. Youngster Rajpoot kept going for the yorker in the 19th, conceding two sixes but also taking out Rana with one.

With 11 required off the last over, Boult went full for the first two balls. Two leg-byes and a single should have been the result but the ball slipped under stand-in captain Suryakumar's hands at long-on. Now with Hardik on strike instead of Harbhajan, Boult went for the bouncers. A dot ball and a wicket should have been the result, but substitute Rishi Dhawan slipped under a sitter. What should have been a single became a boundary, what should have been an easy catch became two runs, and Knight Riders weren't left with anyone else to blame.

Sidharth Monga is an assistant editor at ESPNcricinfo