ESPNcricinfo's Mzansi Super League team of the season includes players from four teams and has two overseas players:
1. Quinton de Kock (wk)(412 runs in eight innings, strike rate 169.54)
He joined the season two games late, but once he arrived, de Kock went full throttle. He set the tone with a 36-ball 74 in his second game, followed it up with a 55-ball 108 and finished the league stage with 93 and 86 not out to hand Cape Town Blitz a direct-entry into the MSL 2018 final.
He failed in the final, however, out for only 5, but nonetheless finished the season as the joint-second-highest run-scorer and struck the most fours (45). He was declared the season's Most Valuable Player.
2. Gihahn Cloete (330 runs in ten innings, strike rate 113.79)
The Tshwane Spartans opener was the team's aggregator and he played the role well. He was the season's fourth-highest run-scorer, usually opting to anchor the Spartans innings. But he switched it up on one occasion, clattering 80 off 49 deliveries to help Spartans post the season's first 200-plus score.
On difficult surfaces, Cloete held his own. His 43-ball 55 against Durban Heat and 59-ball 65 against Nelson Mandela Bay Giants kept Spartans in the hunt for a play-off spot, before the team's chances fizzled away. Cloete struck 38 fours, second only to de Kock, and cleared the rope five times. He also won the Fielder of the Tournament.
3. Reeza Hendricks (412 runs in nine innings, strike rate 142.56)
Four consecutive fifty-plus scores - including back-to-back hundreds - from Reeza Hendricks helped Jozi Stars catapult into the play-off spots.
After getting a duck against Cape Town Blitz, Hendricks found his groove, first hitting 55 against Spartans, cracking the season's first ton off just 51 balls, and following it up with an unbeaten 108. He capped off the run with 79 against Blitz. Hendricks failed to cross fifty after that, but those four innings in the middle of the season secured Stars' top-two finish in the league stage.
4. Rassie van der Dussen (469 runs in ten innings, strike rate 138.75)
When Hendricks' form dipped, up came Rassie van der Dussen to fill the void. He was consistent in the Stars middle order, either helping the team tick along in the middle overs and accelerate towards the end. He finished as the season's highest run-scorer on the back of his four half-centuries and remained unbeaten for Stars in their last three matches with scores of 83*, 96* and 59*.
It has been a landmark year for van der Dussen, who also finished as the season's highest six-hitter (23).
5. Faf du Plessis (capt.) (318 runs in eight innings, strike rate 156.65)
Paarl Rocks' standout batsman, the South Africa captain reminded everyone why experience counts. He batted just eight times, having arrived late from the tour of Australia, but struck four fifties to lift Rocks into the final play-off spot. Du Plessis' importance in the side was underlined by the fact that Aiden Markram's 156 runs were the team's second-highest aggregate.
The Rocks were behind the qualifying mark for most of the season, but du Plessis' knocks of 76*, 61 and 61 towards the back end helped them sneak into the eliminator. Du Plessis struck just seven sixes all season, showing everyone how old-fashioned batting can still fetch rewards in the shortest format.
6. Daniel Christian (196 runs in 10 innings, strike-rate 194.05, eight wickets in 11 innings)
One of two overseas players. The Australian allrounder has been a regular in T20 tournaments around the world. For Stars, he made a niche at No. 6, finishing several innings strongly with the bat while also chipping in with the ball. He hit 16 sixes and eight fours off the 101 deliveries he faced, meaning that his boundary/ball ratio was an impressive 4.21. Christian also took 4 for 22 against league-leaders Blitz just before the season ended, inflicting on them the second of three league-stage defeats.
7. Jeevan Mendis (16 wickets in nine innings, bowling strike rate 12.00)
The Sri Lankan finished as the highest wicket-taker among spinners. He was especially brutal at the start of season for Spartans, when teams were still getting a measure of par totals. He was perilous with the wrong'un, and his drift and turn helped him thrive on slow surfaces. Before Rashid Khan arrived in South Africa, most eyeballs were glued to Mendis' guile.
Mendis' wristspin earned him a wicket in all but two games, and he took a two or more wickets in five matches. In a rain-hit contest against the Giants, Mendis' 4 for 22 spun a web around the opposition.
8. Kagiso Rabada (13 wickets in nine innings, economy 6.73)
The rapid Rabada was one of two Stars bowlers to wreck havoc in the MSL 2018. He hunted in pairs with Duanne Olivier and finished third among wickets taken by fast bowlers.
Rabada ensured Stars kept taking wickets in the Powerplay, and when the opposition seemed to get on top of Stars in some games, Rabada was swiftly introduced by the captain Dane Vilas to steer his team out of trouble. Against Giants, he conceded only eight runs in four overs.
9. Nono Pongolo (10 wickets in seven innings, bowling strike rate 9.40)
A week before the tournament began, Pongolo was signed up to be a commentator with a local broadcaster, but a change of heart resulted in a change of fortunes for the 29-year-old bowler.
In only his second outing with the bat, Pongolo was Stars' hero against Durban Heat, when he helped the champions make an unlikely 14 runs off the game's last two deliveries to complete a remarkable come-from-behind victory. And if one thought that Pongolo's success was a flash in the pan, he delivered in the second-last league game again, securing Stars' playoff qualification against Spartans with the season's best bowling figures of 6 for 20.
10. Duanne Olivier (20 wickets in nine innings, bowling strike rate 10.00)
The season's highest wicket-taker and the primary reason behind Stars' success, Duanne Olivier found rewards for his partner Rabada's tight bowling from the other end.
He took at least two wickets in all matches but one, and his hard lengths with the new ball made scoring difficult. During the death, Olivier's control over his variations flummoxed batsmen who looked to force the scoring. In the final, Olivier's 2 for 32 dismantled the Blitz top order, and ensured they could not score more than 113. Olivier was declared Bowler of the Tournament.
11. Lutho Sipamla (16 wickets in ten innings, bowling strike rate 13.80)
The 20-year-old Spartans fast bowler was difficult to contend with. He took four three-wicket hauls in the league stage, but lack of assistance from the rest of his team meant that Spartans lost three of those games.
Sipamla's pinpoint yorkers and fast bouncers stood out in particular, along with a cool head when batsmen looked to take him on. His captain AB de Villiers believes Sipamla has "all the credentials to become a serious fast bowler for South Africa in the future." Before the start of the tournament, Sipamla didn't even believe he'd be in the Spartans starting XI, let alone the team of the season.
Sreshth Shah is a sub-editor at ESPNcricinfo