So, after 51 days, we finally have a new champion with Sunrisers Hyderabad pipping the favourites Royal Challengers Bangalore by eight runs in the final at the M. Chinnaswamy Stadium on Sunday. Thanks to the likes of Virat Kohli, AB de Villiers and David Warner, several batting records were broken but even as the side that had the best bowling attack in the tournament went on to win the title, none of the bowlers managed to pick 25 wickets.
As we pick the team of the season, the tournament's primary rule of having only four overseas players is taken into consideration which rules out some of the top overseas performers. Here's the XI based on their performances and the impact they had on their respective sides.
1. Virat Kohli (Royal Challengers Bangalore)
Matches: 16 | Runs: 973 | Average: 81.08 | Strike Rate: 152.03
No player had ever made more than 733 runs in a single edition of Indian Premier League, but Virat Kohli ended up scoring 240 in excess this season with a stunning average of 81-plus. He went on to score his first century in Twenty20 cricket and added three more to set an unprecedented record in tournament's nine-year history.
He led Royal Challengers' comeback valiantly when the team needed four wins on the trot to make it to the playoffs but ended up finishing second-best, for the third time, after his side lost to Sunrisers Hyderabad in the final. The 27-year-old also hit the most number of sixes (38) and was named the Player of the Tournament.
2. David Warner (Sunrisers Hyderabad, Captain)
Matches: 17 | Runs: 848 | Average: 60.57 | Strike Rate: 151.42
The Australian opener literally had to do it all by himself in the batting department. He had Shikhar Dhawan for company in the second half of the tournament but still ended up scoring 31% per cent of his team's runs.
Warner single-handedly pulled Sunrisers through to the final with an unbeaten 96 in Qualifier 2 and became the second batsman ever to cross the 800-run mark in a season. His captaincy skills came to the fore as he marshalled his bowlers to perfection and he is certainly now in contention to become Australia's next T20 captain. Warner will also be the skipper of our side.
3. AB de Villiers (Royal Challengers Bangalore)
Matches: 16 | Runs: 687 | Average: 52.84 | Strike Rate: 168.79
This was the South African's best campaign in terms of runs scored. After his scintillating century at No. 3 against Mumbai Indians last season, the Royal Challengers' management decided to give him more freedom at the same spot throughout the tournament and he flourished alongside his captain as they quickly became the most intimidating duo, striking fear in the opposition camp.
Even though he made a big hundred against Gujarat Lions, the knock against the same opposition in Qualifier 1 when the rest failed will be remembered for a very long time. His dismissal in the final triggered a collapse that the home team couldn't recover from.
4. KL Rahul (Royal Challengers Bangalore, Wicket-keeper)
Matches: 14 | Runs: 397 | Average: 44.11 | Strike Rate: 146.49 | Catches/Stumpings: 5/4
This was the kind of season KL Rahul was looking for after receiving the 'Test specialist' label. He moved to his home franchise from Sunrisers after failing to make a mark for the Hyderabad team. Royal Challengers didn't pick him in their initial XI but he then made the cut after a couple of games only to make a huge impression.
He opened and later also batted at No. 4 and flourished with an excellent strike-rate of 146.49. Even though his glove work needs improvement, he will be our wicketkeeper in this line-up.
5. Yusuf Pathan (Kolkata Knight Riders)
Matches: 15 | Runs: 361 | Average: 72.20 | Strike Rate: 145.56
Consistency is not a term that has been associated with Yusuf Pathan ever since he moved to Kolkata Knight Riders. He always had one or two match-winning efforts for them but this season Pathan gave everyone a gentle reminder of his abilities. Whenever the top order failed, Yusuf stepped up with the bat.
He was hardly used with the ball but he ended up having his second best season with the bat with an average of 72. The innings against Royal Challengers at Chinnaswamy where he smashed an unbeaten 60 when Knight Riders were reeling at 69 for 4 chasing 186 and the unbeaten 52 against Sunrisers to take them into the playoffs were his standout performances.
6. Krunal Pandya (Mumbai Indians)
Matches: 12 | Runs: 237 | Average: 39.50 | Strike Rate: 191.12 | Wickets: 6
The younger Pandya might have hit the headlines earlier this year by breaking into the national XI but the elder one made a huge impression in the IPL with both bat and ball. He was, at times, promoted up the order ahead of the likes of Jos Buttler and Kieron Pollard and delivered by striking the ball cleanly.
Krunal's whopping strike-rate of 191 is the highest among all batsmen with a minimum of 200 runs in this season. He also pitched in with the ball with some economical spells and can serve as the second spinner in this side. The 86 off just 37 deliveries against Delhi Daredevils in a must-win game for the Mumbai Indians turned out to be his best outing as he also picked up two wickets in the same match.
7. Chris Morris (Delhi Daredevils)
Matches: 12 | Runs: 195 | Strike Rate: 178.89 | Wickets: 13 | Economy: 7.00
Delhi Daredevils spent a fortune on Chris Morris and he didn't disappoint. He got to bat seven times in this tournament and scored 195 runs with an excellent strike-rate of 178.89. He regularly provided the impetus at the death with some lusty hits. Against Gujarat Lions, he hit an unbeaten 82 off just 32 balls and saw his side fall agonizingly short by just one run.
He was more effective with the ball and will be the ideal seam bowling all-rounder in this XI as he went on to pick 13 wickets with an economy of just seven, which turned out to be the second-best among the top 15 wicket-takers in this edition. His side lost steam in the end to lose out on the playoffs spot but they will certainly be banking on Morris to go a step further next season.
8. Bhuvneshwar Kumar (Sunrisers Hyderabad)
Matches: 17 | Wickets: 23| Average: 21.30 | Economy: 7.42
He put on a bit of pace that was clearly evident as he not only delivered with the new ball but was excellent with his yorkers and slower deliveries at the death. Bhuvneshwar Kumar has once again stamped his authority as the country's best pacer in limited overs cricket with an outstanding season.
He finished as this edition's highest wicket-taker with 23 scalps and led Sunrisers' charge towards the title. He was taken to the cleaners by Sarfaraz Khan early on in the tournament but redeemed himself to finish with an economy of 7.42. Bhuvneshwar has clearly made a statement after being forced out of the XI during the ICC World Twenty20 that preceded the ninth season of the cash-rich league.
9. Dhawal Kulkarni (Gujarat Lions)
Matches: 14 | Wickets: 18 | Average: 20.22 | Economy: 7.42
No bowler picked more wickets than Dhawal Kulkarni in powerplay overs in IPL 2016. He moved the new ball around both ways and accounted for 18 wickets in the tournament with an average of 20. His efforts could now help him nail down a permanent spot in the Indian squad.
He stunned the best batting side - Royal Challengers - in their own backyard by ripping through their top order in Qualifier 1 even though the Lions eventually lost the match. He makes the cut as our new ball specialist.
10. Yuzvendra Chahal (Royal Challengers Bangalore)
Matches: 13 | Wickets: 21 | Average: 19.09 | Economy: 8.15
Quite surprisingly, the quicks fared much better than the spinners in this year's IPL. Amit Mishra started off well but began to fade away towards the end but it was the opposite for Royal Challengers' leggie Yuzvendra Chahal. He made a poor start which coincided with his side's bowling attack coming under the scanner.
Chahal was also dropped after his poor start but then recovered slowly to end up as the second highest wicket-taker of the season with 21 wickets at an average of 19.09, which is the best among the top 10. Chahal managed to find the right areas to bowl on a batting paradise like Chinnaswamy and ended up as the best spinner of this edition.
11. Mustafizur Rahman (Sunrisers Hyderabad)
Matches: 16 | Wickets: 17 | Average: 24.76 | Economy: 6.90
Sunrisers perhaps made the best signing in the player auction by bagging Bangladesh's Mustafizur Rahman. The young pacer's rise has been meteoric ever since he picked five wickets on debut against India last year and he continued to impress in his first ever IPL stint. 'The Fizz' walked away with the Best Young Player award of the season.
Mustafizur was the fifth highest wicket-taker in the tournament with the best economy among the top 15. His variations proved to be mighty effective as he shut down Royal Challengers' mighty batting lineup along with Bhuvneshwar in the final.