The Ranji Trophy 2019-20 season started much later than usual, but finished in the nick of time. A week more, and the final might not have taken place, because of the COVID-19 (novel coronavirus) concerns. As it was, we had the final, and Saurashtra won their first title, on home turf in Rajkot, with the last day's play barred to fans.

The season brought its share of outstanding performances, new records, and notable triumphs. Of the many performances that stood out, we at ESPNcricinfo put our heads together to select a team of the season. As is inevitable in these kinds of exercises, the chief problem was of who to leave out.

1. Abhinav Mukund
Matches: 6, Runs: 564, Avg: 70.50, HS: 206

In a season where openers across the spectrum had less-than stellar returns, Abhinav Mukund stood out with his consistency and volume of runs. During the course of the season, he also got to 10,000 first-class runs, and 100 Ranji Trophy matches, and made the occasion memorable with a sparkling hundred: Abhinav, in fact, hit a century in a session against Railways in an innings win for Tamil Nadu in his 100th game. He followed that up with 206 against Baroda in another innings victory. Tamil Nadu eventually fell short of qualification, though things might have been different if they had been on the right side of a couple of close results.

ALSO READ: 'Getting to 100 Ranji games or 10,000 runs doesn't happen overnight'

2. Devdutt Padikkal
Matches: 10, Runs: 649, Avg: 40.56, HS: 99

He came into the Ranji Trophy as the hottest batsman on the domestic circuit, having topped the run charts in the Vijay Hazare Trophy and the Syed Mushtaq Ali Trophy. Devdutt Padikkal seemed to begin the Ranji Trophy in the same way, with six fifties in his first six matches. His golden run ended there, though, as the next four matches brought only 145 runs with just one more half-century. Not entirely coincidentally perhaps, Padikkal's dip in runs ran parallel to Karnataka looking a little less dominant than they had, culminating in a semi-final defeat to Bengal. That meant they couldn't achieve a domestic treble. Overall, however, it has been a breakthrough season for Padikkal, who has not only made himself an indispensable part of Karnataka's XI, across formats, but could soon be knocking on the doors of higher honours too.

ALSO READ: Devdutt Padikkal carves his own niche in star-studded Karnataka line-up

3. Arpit Vasavada
Matches: 10, Runs: 763, Avg: 54.50, HS: 139

He didn't have the highest batting average for Saurashtra, and nor did he score the most runs - but few would argue that Arpit Vasavada was the champions' most important batsman. This, in a season where Cheteshwar Pujara played more than half the matches. Pujara had the highest average and Sheldon Jackson had the most runs, but Vasavada's efforts were peerless. Each time he went past fifty, he made a century. Each of the four centuries he made came at critical moments for Saurashtra. And his best came at the end, with Man of the Match performances in the semi-final and final.

ALSO READ: Arpit Vasavada's rescue act

4. Sarfaraz Khan
Matches: 6, Runs: 928, Avg: 154.66, HS: 301*

Without a doubt the batsman of the season. He got a place in the Mumbai XI midway through, but once in, Sarfaraz Khan made it impossible to drop him - or indeed look away when he was at the crease. Rain robbed him of the opportunity to become the first batsman to hit consecutive triple-centuries, but nothing was going to stop him zooming to the top of the run chart in the Elite Groups. Sarfaraz's 301* against Uttar Pradesh was a tour de force, but it was known that he was capable of producing moments of brilliance. Now he showed he could sustain that through a season, heralding a future bright with possibilities.

ALSO READ: 'They used to call me panda, now they've started calling me macho'

5. Anustup Majumdar
Matches: 8, Runs: 704, Avg: 58.66, HS: 157

Before this season, Anustup Majumdar might have been described as a typical journeyman cricketer. Useful at what he does, able to contribute decently, but not the man who carried the team. That changed this year, as Majumdar unleashed one bravura performance after another. He very nearly scored hundreds in the quarter-final, semi-final and final. In fact, the title swung towards Saurashtra irrevocably only once Majumdar was out in the final. When Majumdar was out for 99 against Delhi, he might have thought this would be a season of heartbreaks. Instead, he turned it into a season of opportunity and rescue acts.

ALSO READ: Anustup Majumdar makes rescuing Bengal from trouble a habit

6. Anmol Malhotra - wicketkeeper
Matches: 8, Runs: 468, Avg: 52.00, HS: 119*. Catches: 25, Stumpings: 2

Not a name that would have perhaps been top of the mind for most, but Anmol Malhotra had a standout debut season for Punjab. Only Mandeep Singh's presence meant he wasn't Punjab's best batsman, but given that he kept wickets for the team, he was arguably equally valuable. Punjab were leading the combined Groups A and B table for the first half before they slipped, and Malhotra was a quiet, but effective part of that surge. He served notice of his talent on debut, walking in at 125 for 5 and helping turn that into 358 all out. In his next match, 169 for 5 became 443 for 6 declared. While Singh played the starring role both times, it wouldn't have been possible without Malhotra's excellent support act. He continued to score crucial runs for Punjab through the season, marked by strokeplay all around the wicket.

7. Shahbaz Ahmed
Matches: 11, Runs: 509, Avg: 36.35, HS: 82. Wickets: 35, Avg: 16.80, BBI: 7-57, BBM: 11-101

The only man who could edge out Majumdar as Bengal's MVP, Shahbaz Ahmed had a dream season. As an allrounder, he held his own with bat and ball. As a complete package, he was gold-dust for Bengal. He had completely unremarkable stats before the start of the season - three matches for 50 runs and two wickets. But the Bengal selectors must have seen something in the 25-year-old left-arm spinner, and they were proved right. He had a match haul of 11 wickets in a virtual knockout against Punjab to seal a low-scoring thriller. Then made two half-centuries against Odisha in a come-from-behind quarter-final win. He wasn't called on to do much with the ball against Karnataka in the semi-final, but made a couple of useful 30s.

ALSO READ: Shahbaz Ahmed wants to be Bengal's Ben Stokes

8. K Gowtham
Matches: 6, Runs: 284, Avg: 31.55, HS: 82. Wickets: 34, Avg: 18.26, BBI: 8-60, BBM: 14-170

Injury curtailed his season to just six matches, but there wasn't a single one among those in which K Gowtham didn't make an impact. He began the season with a lion-hearted performance in one of the most thrilling games, handing Karnataka victory against Tamil Nadu by just 26 runs. That performance aggravated an injury and he had to endure a spell of rehab, but he came back and showed his form was intact. His 7 for 54 in the quarter-final against Jammu & Kashmir ensured Karnataka's dream of a treble of domestic titles remained alive. He did his bit in the semi-final too, but Bengal's collective will proved too much for Karnataka.

9. Harshal Patel
Matches: 9, Runs: 292, Avg: 22.46, HS: 65. Wickets: 52, Avg: 14.48, BBI: 7-29, BBM: 12-53

More than anyone else perhaps, Harshal Patel deserved to have his team in the knockouts of the Ranji Trophy. Haryana suffered two one-wicket defeats, and missed out by the narrowest of margins. And in Haryana's season, Harshal was a colossus. That this performance followed on the heels of him doing well in the Vijay Hazare Trophy and Syed Mushtaq Ali Trophy made it a season to remember. In the Ranji Trophy, if it so happened that he picked up fewer than three wickets in a match, he hit a fifty. Often, he picked up wickets in abundance and added valuable runs too. All that, and he captained the side as well.

10. Jaydev Unadkat - captain
Matches: 10, Runs: 125, Avg: 12.50, HS: 40. Wickets: 67, Avg: 13.23, BBI: 7-56, BBM: 12-106

If the Ranji Trophy gave a Man of the Tournament award, no one would have a greater right to it than Jaydev Unadkat. He had an unparalleled season, one which even he might never replicate. His 67 wickets may not be an all-time record, but for all practical purposes, it is the benchmark for the future. No bowler in the Elite Groups has taken more in a Ranji season in history. More than the wickets, it was how Unadkat got them. Each one - right down to the last one he got which signalled Saurashtra had the first-innings lead over Bengal in the final - came right when it was needed. He often seemed to conjure wickets out of nothing. And he kept taking wickets even when bowling a bulk of Saurashtra's overs. As captain, he could have saved himself some workload - he took on extra. It's no wonder he's the leader of this team too.

ALSO READ: 'If I want to be at that level, I have to be as good as Bumrah'

11. Akash Deep
Matches: 9, Runs: 98, Avg: 9.80 , HS: 44. Wickets: 35, Avg: 18.02, BBI: 6-60, BBM: 7-104

He's 23 years old. He made his debut this season. And he didn't allow Bengal to feel the absence of Ashok Dinda. That's quite a debut season CV to have for Akash Deep. He's still developing, and if the signs of this season are anything to go by, he'll be a considerable force. Akash Deep had the benefit of hunting in a pack with Mukesh Kumar and Ishan Porel, but Porel wasn't available for half the season. And while Ahmed shouldered the spin duties for Bengal, it was Akash Deep who led the pace attack. He showed plenty of spunk too, with a crucial 44 in the semi-final against Karnataka with the bat.

ALSO READ: Inside the Bengal pace revolution

So that's our XI for this Ranji season. Some of those who we would have really liked to include but couldn't because - well, you can pick only 11 - were Manoj Tiwary, Sheldon Jackson and Parthiv Patel, to name a few. But this XI has batting till No. 9 and with both No. 10 and No. 11 also capable of holding an end up. It has three pacers and two spinners, with Majumdar's part-time leggies. It has players from a variety of teams: Saurashtra, Bengal, Karnataka, Mumbai, Tamil Nadu, Punjab and Haryana. And it's a team that will be able to take on all comers, on all surfaces.

Voting by Deivarayan Muthu, Hemant Brar, Shashank Kishore, Saurabh Somani and Varun Shetty.