The Indian Premier League was played in extraordinary circumstances this year.
The rapid spread of the COVID-19 pandemic saw IPL 2020 being shifted to the UAE and the world's top T20 league was for the first time held without any fans in the stands.
The best players from around the world came together to put in some top class performances to ensure that the IPL lived up to its top billing.
K L Rahul and David Warner continued their good run scoring records in the IPL, while the likes of Sanju Samson and Suryakumar Yadav rose to the occasion.
Kagiso Rabada, Jasprit Bumrah and Jofra Archer showed why the best pace bowlers are always in demand, while Yuzvendra Chahal and Rashid Khan emerged as the top spinners.
Harish Kotian picks his IPL All Stars XI from the league stages:
K L Rahul
Rahul again underlined his status as one of the top batsmen in the world in limited overs cricket.
Despite being handed the extra responsibility of captaincy, the wicketkeeper-batsman continued his consistent run with the bat although Kings XI Punjab missed out on the play-offs.
The KXIP opener was unstoppable in the league stages as he finished top of the run scoring charts with 670 runs from 14 games, including a century and five fifties at an average of 55, and strike rate of 124.
His smashing showing with the bat didn't go unnoticed as he was named the vice-captain of the India ODI and T20I teams for the forthcoming tour of Australia in the absence of an injured Rohit Sharma.
Rahul has been unstoppable in the IPL in the last few years -- scoring 593 runs last year to follow up on 659 in 2018.
David Warner (captain)
David Warner came good with the bat when it mattered the most for his team Sunrisers Hyderabad.
The SRH captain starred with a stellar 85 not out from 58 balls to help Sunrisers outclass Mumbai Indians by 10 wickets and make it to the playoffs.
He also played a handy innings of 66 from 34 balls against Delhi Capitals a few days ago to steer Sunrisers to another big win.
Warner also played a key role in gelling together the injury-hit Sunrisers who lost a few stars to injuries during the IPL including all-rounder Mitchell Marsh and pacer Bhuvneshwar Kumar.
Warner was the second best in the league stages with 529 runs at a strike rate of 136, with four fifties.
The Australian also became the first batsman to score 500-plus in six consecutive seasons.
Shikhar Dhawan
Shikhar Dhawan also reignited his career with a smashing showing with the bat in the IPL.
Shikhar started off slowly but once he found his rhythm he was hard to dislodge.
After hitting two fifties in a row, the Delhi Capitals opener hit two centuries in a row -- against the Chennai Super Kings and Kings XI Punjab -- to become the only batsman to achieve the feat in the IPL.
He also contributed with a vital 54 in the crucial game against Royal Challengers Bangalore which guided Delhi to victory and ensured they finished second in the points table to seal their place in Qualifier 1 against the Mumbai Indians.
Dhawan amassed 525 runs in 14 games at a strike rate of 145, with two centuries and three fifties.
Devdutt Padikkal
The 20 year old emerged as one of the top performers in IPL 2020.
Playing his first IPL, Padikkal startled the pundits with some top quality knocks.
The RCB opener started off in grand style with a fifty on debut, as he smashed a quickfire 56 from 42 balls against Sunrisers Hyderabad.
The youngster was majorly responsible for RCB making it to the playoffs with five fifties in the league stages.
Padikkal finished fourth in the run-scoring charts in the league stages with 472 runs at a strike rate of 126 and stole the limelight from RCB stars Virat Kohli and A B de Villiers.
Sanju Samson
It will be hard to ignore Sanju's superlative performances with the bat even though the Rajasthan Royals youngster struggled for consistency.
He set the tournament alight at the start with a couple of stunning knocks.
Samson tore apart Chennai Super Kings in Royals's opening game as he smashed 74 from 32 balls and followed it up with another sensational 85 from 42 balls against Kings XI Punjab.
But his form took a sharp dip as he fell for single digit scores in the next four innings, while going through a run of eight innings without scoring in excess of 30.
However, he bounced back with a quickfire 54 not out from 31 balls in a high-scoring run chase against the Mumbai Indians and then hit 48 from 25 balls against Kings XI.
Samson finished top of the six hitting charts in the IPL with 26 sixes in 14 games, for a tally of 375 runs at an impressive strike rate of 158.
Suryakumar Yadav
Surya impressed with wonderful knocks for the Mumbai Indians.
The selectors still didn't find him worthy of a place in the Indian T20I team for the tour of Australia.
Surya responded to the snub in the best possible manner as he let his bat do the talking. His match-winning 79 not out from 43 balls against RCB became the talking point of the town, as did his determined stare back at Kohli, who continuously sledged him throughout that innings.
Batting at the crucial No 3 position, Suryakumar has once again stood up to the task with 374 runs at a strike rate of 153.
Rashid Khan
Year after year, Rashid continues to perform with the ball for Sunrisers Hyderabad.
This year too, Rashid has been instrumental in Sunrisers bouncing back after a slow start to advance to the play-offs.
The Afghan leg-spinner took 19 wickets in 14 games, at an economy rate of 5.28.
Who can forget his match-winning spell of 3/7 which helped them bowl out Delhi Capitals for 131, to register a thumping 88 run victory, which would go on to improve their net run rate and pave their way for the play-offs?
Kagiso Rabada
Rabada's wonderful performances with the ball helped Delhi Capitals make a smashing start to the IPL.
Delhi were off to a flying start as they won their seven out of the first nine games before they stumbled, but eventually qualified as the second team in the points table.
Rabada continued his wicket ways for Delhi with 25 wickets in 14 games in the league stages -- the highest in the IPL so far.
He bowled the best-ever Super Over in the history of the IPL when he bowled out Kings XI Punjab for just two runs as Delhi clinched an easy victory.
Jasprit Bumrah
Boom Boom took time to get going, as he came into the IPL after a long break.
He went for 43 runs while picking up one wicket in the tournament opener against Chennai Super Kings and then was hit for runs in the next two games as well.
But once he found his rhythm, when he took 2/18 against Kings XI Punjab, he continued to improve.
He was second in the wicket-taking list with 23 wickets in 13 games.
Jofra Archer
Rajasthan Royals may have not gone through to the playoffs but Jofra Archer certainly left his mark with a top class showing with the ball.
The England fast bowler finished with 20 wickets in 14 games, but with an impressive economy rate of 6.55.
He also made his mark with the bat, hitting 10 sixes in the tournament to score 113 runs at a strike rate of 179 -- the second best in the league stages.
Yuzvendra Chahal
Chahal emerged as the best spinner in the league stages with a rich haul of 20 wickets at an economy rate of 7.16.
The leg-spinner began with a bang as he took 3/18 against Sunrisers Hyderabad to bowl RCB to victory and then starred with the ball against Rajasthan, when he claimed 3/24.
Chahal is Captain Kohli's go-to-man with the ball whenever he needs a breakthrough, and is always handed the task of bowling the difficult overs.
Photographs: BCCI/IPL
IPL Poll: Best Captain in IPL 2020?
The MYSTERY of Rohit's omission
Meet IPL 2020's Most Valuable Players
Which IPL players made Australia tour?
IPL 2020, Week 6: All the Hits & Misses