India's victory in the 2020-21 Border Gavaskar Trophy was built on a mix of daring shot-making and gutsy stonewalling. These were the best innings from the series.

Virat Kohli, 74, Adelaide, 1st inns

Amid the excitement of the last two Tests, this innings may have been forgotten, but on an Adelaide pitch where everyone else struggled to score, Kohli played his full range of shots on the first day of the series. He cover drove Nathan Lyon against the turn, took on the short ball with some controlled pulls and hooks and looked ready to really dominate the bowlers when he was unfortunately run out.

Ajinjya Rahane, 112, MCG, 1st inns

After he ran out Kohli and played two poor shots in Adelaide, there was pressure on Rahane, who took over as captain for the Melbourne Test. At the MCG, he came in at 61 for 2, and saw the scorecard soon reading 64 for 3. It meant he had to be watchful early - he got just 13 off the first 50 balls he faced. Once past 50, the shots began to flow, and Rahane played some delightful off drives and crisp cut shots en route to arguably his best Test hundred.

Ravindra Jadeja, 57, MCG, 1st inns

After the 36 all-out in Adelaide, it was a bit surprising India decided to replace a batsman, Kohli, with an allrounder, Jadeja. But Jadeja had been in formidable batting form for the past two years and he repaid the team management's faith with a crucial knock that helped India get a big first-innings lead in Melbourne. Jadeja showed he could play patiently, hitting just three boundaries in his 57 off 159 balls. He was selective in his shot-making, choosing to only go after balls that were short, and his 121-run partnership with Rahane put India in a dominant position.

Cheteshwar Pujara, 77, SCG, 2nd inns

Pujara's 50 off 176 balls in the first innings in Sydney was his slowest Test half-century, and there was some talk of how he was putting pressure on his partners by getting stuck. Through the rest of the series, however, Pujara showed that his methods are effective, and it began with his contribution in the second innings in Sydney. With India needing to bat out four sessions, Pujara played 205 balls, giving India a great chance to draw the Test. He also played some attractive strokes, in particular a couple of flicks of Lyon that pierced a packed on-side field.

Rishabh Pant, 97, SCG, 2nd inns

While Pujara soaked up pressure at one end on the fifth day in Sydney, Pant attacked and raised hopes of India actually chasing down the 404 they had been set. Pant was promoted to No.5 to give India a left-right combination and took 30-odd balls to get his eye in before going after Lyon. He repeatedly stepped down the track and went over the top off the spinner, even taking on the fielders when they were pushed back to the rope. His 97 off 118 balls included 12 fours and three sixes.

R Ashwin, 39, and Hanuma Vihari, 23, SCG, 2nd inns

The value of these innnings was not the runs but the 289 balls Ashwin and Vihari kept out between them. Vihari had scores of 8, 16, 21 and 4 in the series and tore his hamstring early in his innings on the fifth day in Sydney. Ashwin had not scored more than 25 since December 2018 and was battling a back injury that made it impossible for him to even sit down. They couldn't run between wickets to rotate strike. Yet, somehow, the pair survived 42.4 overs in partnership to save the Test.

Shubman Gill, 91, Gabba, 2nd inns

Gill had already shown promise in the series with four 30+ scores. This time, he kicked on and played some imperious shots in his 91 off 146 balls. Early in his innings, Gill drove off both the front and back foot. Then, when Australia's quicks went short, he took them on, playing both the pull as well as the ramp on the off side. Off one Starc over, he went six, four, four to increase India's run-rate. Gill's innings had the dual effect of keeping the possibility of a win open and showing the rest of the line-up that fluent run-scoring was still possible on a fifth-day Gabba pitch.

Cheteshwar Pujara, 56, Gabba, 2nd inns

If Gill's innings at the Gabba was one of elegant shots, Pujara's was one of defiance. Pujara was hit at least 10 times by short balls in his 211-ball stay but stayed resolute. He left and defended, only giving himself licence to attack when the ball was short and wide from the quicks or short and on the stumps from Lyon. He got to fifty off 196 balls, beating the record for his slowest fifty set in the previous Test. By the time he was dismissed, Australia's already tired attack had bowled 78.3 overs on the fifth day.

Rishabh Pant, 89, Gabba, 2nd inngs

When Pant came in at 167 for 3 on the fifth day at the Gabba, most Indian fans would have gleefully accepted a draw. What Pant did in the next 40 overs was the stuff of legend. Like in Sydney, he gave himself time to get in. Like in Sydney, he began by attacking Lyon. He had to contend with the second new ball but took on anything full with cover drives. Then, as the target dropped below 50, the T20 shots came out - laps, slog-sweeps, reverse-sweeps, a pull while falling over that brought the target down to six. And this time, Pant finished the job, taking India to the 328-run target with 3.1 overs left in the day.