Chasing a daunting total of 231, Mumbai Indians managed to score 223/6 in the 20 overs.
West Indies batsmen Lendl Simmons (59 off 32) and Kieron Pollard (54* off 24) batted aggressively but Mumbai felt short of their target by 8 runs in what could have been a record run chase.
A late surge by Hardik Pandya (30 from 13) and Keiron Pollard (50 not out off 24), including a 27-run 16th over from Matt Henry, failed to take the home side as Punjab tightened the noose towards the end.
Saha and Martin Guptill gave their side a perfect start as fifty came for their side in the fourth over itself and the visitors never looked back.
Mumbai Indians skipper Rohit Sharma won the toss and elected to field but Punjab batters made a mockery of the Mumbai bowling line-up to post biggest score of IPL 10.
Here are the highlights from the match between Mumbai and Punjab:
# Mumbai got off to a flier with Simmons and Parthiv Patel took the side to 52/0 in just 5 overs.
# Simmons was at his brutal best and brought up his half century off just 27 balls.
# Simmons survived a dropped chance on 44 when Mohit Sharma put down his catch in the deep.
# Leg spinner Rahul Tewatia took the wicket of MI skipper Rohit Sharma (5).
# Axar Patel struck the wicket of Nitish Rana, who scored a run-a-ball 12.
# Keiron Pollard and Hardik Pandya added 55 runs for the fifth wicket to bring Mumbai back into the game.
# Pollard and Pandya accumulated 27 runs from Matt Henry's third over as they hit 4 sixes in that over.
# Hardik Pandya was removed by a sensational diving catch from Saha off Sandeep Sharma.
# Leg-spinner Karn Sharma played a cameo of 19 off 6 deliveries.
# He and Pollard added 31 runs for the sixth wicket and helped Mumbai go past 200 in the 18th over.
# Mohit Sharma picked up 2 wickets from his 4 overs, but leaked 57 runs.
# Sandeep Sharma finished his quota of 4 overs and finished with 1/42.
# Ishant Sharma hasn't yet taken a wicket this season from five matches.
# He finished with 0/29 from three overs.
# 100 came up for Punjab in 8 overs for the loss of 1 wicket.
# Martin Guptill (36 from 18 balls) was the first Punjab wicket to fall.
# He and Saha put on 68 runs before being separated by leg-spinner Karn Sharma.
# It was the tenth occasion when an IPL side reached 100 inside 8 overs. KXIP have the best performance in 7.3 overs against SRH at Hyderabad in IPL 2014.
# Wriddhiman Saha scored 51 off 32, this was his first fifty in the tournament.
# Wriddhiman Saha scored an unbeaten 55-ball 93* as KXIP posted 230/3 against Mumbai.
# Glenn Maxwell was clean bowled by Jasprit Bumrah for 47 off 21 balls.
# 63 run partnership between Saha and Maxwell for second wicket.
# Aussie Shaun Marsh (25 off 16) pressed the accelerator from the first ball after walking into the middle.
# 230/3 is the highest score of IPL 2017, they have surpassed Delhi Daredevils' score of 214.
# This is Punjab's third highest total in the IPL history.
# This is second highest score on this ground in the IPL history.
# Mitchell McClenaghan went for 54 runs from his quota of 4 overs.
# Hardik Pandya leaked 29 runs from 2 overs.
# Mumbai bowlers gave away 10 extra runs in wides, no-balls and byes.