Ravindra Jadeja (four matches, 25 wickets at 18.56, 127 runs at 25.40)
Is he the first name on India's team sheet? He should be. Tireless, relentless, and simply magnificent with the ball, Jadeja took more wickets than anyone else on either side while being more economical - he conceded only 2.17 per over - than every other regular bowler. Contrary to stereotype, he was India's first-innings go-to man, even when pitches did not give him much help. If his 6 for 63 in Bengaluru was vital, his 5 for 124 on a flat Ranchi pitch was even better, keeping Australia down to a first-innings total that fell just short of daunting. He scored two fifties too, his 63 in Dharamsala coming exactly when his team needed a score from him, and was superlative on the field, as always; his no-look run-out of Josh Hazlewood in Ranchi was one of the most eye-catching moments of the series.
Cheteshwar Pujara (four matches, 405 runs at 57.85)
Give him a tent, and he will sleep on the pitch, hugging his bat tight, and wake up when it's time to resume his overnight innings. No one in the world bats time like Pujara. He played two of India's most crucial innings of the series, overcoming his troubles against Nathan Lyon to score a second-innings 92 that turned the course of the Bengaluru Test, and then making a monumental 202 in Ranchi that enabled India to pass 600 against an Australian attack that almost never lost its discipline and intensity. In all, he faced 1049 balls across the four Tests, and ensured Australia's bowlers left India at least three times more tired than they may have been otherwise.
KL Rahul (four matches, 393 runs at 65.50)
Rahul didn't make a single hundred, but still ended the series only 12 runs short of Pujara's tally. He batted seven times, and scored six half-centuries, ensuring India got off to starts in all kinds of conditions. He took on the spinners on a Pune dustbowl, curbed those instincts while scoring twin fifties on a tricky, up-and-down Bengaluru surface, and battled hard against Pat Cummins' short-ball attack to score three more fifties in Ranchi and Dharamsala. Fittingly, he scored the winning runs in the final Test, his celebrations at the end a moment of emotional release for a batsman who desperately wanted to be at the crease at that moment.
Umesh Yadav (four matches, 17 wickets at 23.41)
Given that India were playing the 10th, 11th, 12th and 13th Tests of their home season, and given that Umesh Yadav had played all but one of their Tests before this series, the most remarkable thing about his performance wasn't his pace or accuracy or swing or reverse-swing or bounce but the fact that he did all those things while looking better and better as the series wore on. Having taken four wickets on the first day of the series, in Pune, Umesh continued to find different ways to get wickets - using cutters to exploit the low bounce in Bengaluru, finding reverse-swing to defy a flat pitch in Ranchi, and harrying Australia's top order with pace, bounce and swing on the quickest pitch of the series, in Dharamsala. If Matt Renshaw began the series as a thorn in India's flesh, he ended it as Umesh's bunny - one of the many small strands that added up to India's eventual triumph.
Manjrekar: More depth to this Indian team
Sanjay Manjrekar talks about India's performance in the home season, the variety of pitches, and key moments of the Test series against Australia
R Ashwin (four matches, 21 wickets at 27.38, 53 runs at 8.83)
He bowled more overs (225.2) than anyone else in the series, took the second-most wickets, did so at an average below 28, and took a six-wicket haul to help India defend a target of 188 in Bengaluru. He did all of this while looking a little below his best, while perhaps still feeling the aftereffects of the sports hernia that he had suffered towards the end of the series against England. The delicious loop and drift that has been a feature of India's 2016-17 season weren't always on view, and the ball did not often hit the splice of the bat when batsmen defended him. But he still plugged away, from over and around the wicket, never making it easy for the batsmen, and, after a largely thankless Test in Ranchi, got back to wicket-taking ways in Dharamsala, where he used the bounce adroitly, dismissing Steven Smith in the first innings and grabbing three in the second innings. His batting, for a man who had begun the season at No. 6, was largely below-par, before he showed signs of a return to form while scoring an important 30 in Dharamsala.
Wriddhiman Saha (four matches, 174 runs at 34.80, 13 catches and 1 stumping)
Is there a better wicketkeeper in the world at this moment? For a man whose best work often goes unnoticed because his footwork precludes the need to dive unnecessarily, he had a few truly spectacular moments behind the stumps - the flying one-hander to catch Steve O'Keefe in Pune, the leg-side stumping of Matt Renshaw and the dive into the vacant short-leg region to pouch Matthew Wade in Bengaluru, the trampoline leap to pluck an Umesh bouncer out of Dharamsala's genuinely thin air and save four byes. In front of the stumps, he finished with the third-best average among India's batsmen, frustrating Australia with vital lower-order contributions in Bengaluru and Dharamsala either side of a classy, accomplished, thou-shalt-not-dismiss-me century in Ranchi.
Chappell: Rahane was aggressive in his own quiet way
Ian Chappell on Ajinkya Rahane's captaincy, after he stood in for the injured Virat Kohli and led India to a series victory in Dharamsala
Ajinkya Rahane (four matches, 198 runs at 33.00)
Not the greatest series for India's No. 5 at first glance, but he showed glimpses right through it of why he is such a valuable player. His second-innings 52, which came during the course of a century stand with Pujara in Bengaluru, was full of determination and smarts, his sweep perhaps doing more than any other shot to put Nathan Lyon off his favoured line and length. Then, captaining the side in Dharamsala, he made two small but vital contributions: 46 in the first innings when Lyon was at his most threatening, and an unbeaten 27-ball 38 full of audacious strokes that defused the tension of two quick wickets and hurried India to their target. His catching at slip to the spinners, as always, was breathtaking. It's a mystery why he doesn't field there against the quicks, given how many chances India's other fielders shell in that region.
M Vijay (three matches, 113 runs at 22.60)
As has been the case right through his career, Vijay made one big contribution to the series - a patient, pressure-absorbing 82 in his 50th Test, which laid the platform for India's mammoth reply to Australia's 451 in Ranchi - and did little else besides, while never looking out of form. Having missed the Bengaluru Test, Vijay returned to beef up the solidity of India's top three, and always made the bowlers work hard even if he didn't have the numbers to show for it - he was a little unlucky to get out to two excellent deliveries - one from Hazlewood and one from Cummins - in Dharamsala.
Ishant Sharma (three matches, 3 wickets at 69.66)
Another series, another puzzling set of numbers next to Ishant Sharma's name. He played the first three Tests, bowled some excellent spells - notably on the second morning in Bengaluru and the fifth morning in Ranchi - but never seemed to get the wickets to show for it. Those two spells coincided with Ishant getting a little worked up by some needle on the field, perhaps a clue that he may be at his best when he's angry and intimidating - his eight match-winning wickets at the SSC in 2015 also coincided with face-pulling and headbanging - rather than when he is trying to bowl "good areas".
Virat Kohli (three matches, 46 runs at 9.20)
Judging by how much time the broadcasters spent showing the world his reactions to absolutely everything and by how much he had to say throughout, this may have seemed like Virat Kohli's series. It wasn't. He missed the last Test with a shoulder injury after having an exceedingly quiet time with the bat in the first three Tests. He didn't look out of form, as such, but endured one of those series full of frustrating dismissals that every batsman goes through at some point - out nicking forceful drives on two occasions, leaving the ball on two other occasions, and getting one 50-50 lbw decision. Kohli's press-conference utterances kept fanning the flames of controversy that flickered throughout the series. While the media themselves were much to blame for shifting their focus away from the brilliant cricket on display, some of it could have been avoided had India's captain been a little more statesmanlike and magnanimous.
Karun Nair (54 runs at 13.50)
Having come into the series with a triple-hundred in his last innings, Nair started it promisingly, looking more comfortable at the crease than any other batsman during India's first innings in Bengaluru, but fell away drastically thereafter. He was bowled by a couple of very good deliveries - from Mitchell Starc in the second innings in Bengaluru and from Hazlewood in Ranchi - but he did himself no favours by playing away from his body on both occasions. He will need to tighten up his defence early in his innings, and will definitely need to work on his catching in the slips.
Jayant Yadav (2 wickets at 50.50, 7 runs at 3.50)
Came into the series after a spectacular debut series with bat and ball against England, and had to sit out after one below-par Test in Pune, where his bowling didn't make an impact in extremely helpful conditions. His batting - like the rest of India's lower order - was swept away by Australia's rampant spinners.
Abhinav Mukund (16 runs at 8.00)
With his Tamil Nadu team-mate Vijay injured, Abhinav came into the side in Bengaluru with a mountain of Ranji Trophy runs behind him. It was his first Test match in nearly six years, and on a difficult pitch he was out cheaply twice. It can happen to anyone, but perhaps he will feel a little cross at himself for missing a Mitchell Starc full-toss in the first innings.
Kuldeep Yadav (4 wickets at 22.75)
With Kohli injured, India took a punt on Kuldeep's left-arm wristspin in Dharamsala, and it paid off handsomely with his 4 for 68 primarily responsible for Australia's slump from 144 for 1 to 300 all out. He deceived batsmen both in the air and off the pitch, and showed, with his press-conference demeanour and cheeky batting, that he didn't lack in confidence. Though he only bowled five overs in Australia's second innings, it remained one of the most exciting debuts by an India spinner in a long time.
Bhuvneshwar Kumar (2 wickets at 34.00)
India's seaming-conditions specialist all through the season, Bhuvneshwar swung the new ball, slipped in a surprisingly ferocious bouncer or two, and could have had more wickets but for Karun Nair's slippery fingers in the slips. He did a reasonable job otherwise - and got the fortuitous but key wicket of Smith in the second innings - but every now and then sent down a rank bad ball that suggested he may have been slightly rusty given his lack of regular playing time.