Most Test runs for India: Cheteshwar Pujara retires among this top 8 list of greats
India has had 70 batters who have scored 1,000 or more Test runs and 44 of them have made more than 2,000 runs.
However, who are the cricketing powerhouse’s leading run-scorers in Test cricket?
We list the top eight below.
1. Sachin Tendulkar
- Years active: 1989-2013
- Test runs for India: 15,921 runs
Maintaining an average of 50 across 14 years is no mean feat. Tendulkar finished his career with an average of 53.78 in 329 innings. That is a legendary run. He amassed 51 centuries, six of them double centuries, and also recorded 68 half-centuries.
Tendulkar’s best performance came in December 2010, when he smashed an unbeaten 248 against Bangladesh. The Indian star was batting on a different planet.
Sourav Ganguly and Zaheer Khan registered half-centuries, while no one else reached the 40-run mark.
2. Rahul Dravid
- Years active: 1996-2012
- Test runs for India: 13,265 runs
Jason Gillespie famously said that Dravid’s greatest gift was his ability to wear bowlers down. Everyone who saw him compile a patient half-century on debut, a 267-ball 95, would have thought that it was first Test match nerves, but it wasn’t.
That is how he conducted business. He dropped anchor at the crease and was in no rush.
Dravid finished his career with 36 centuries and 63 half-centuries. He registered his highest score, 270 from 495 balls, against Pakistan in 2004.
His double century lifted India to 600. Pakistan batted twice and did not score 270 in any of their two innings; their best was 245 in the third innings.
3. Sunil Gavaskar
Years active: 1971-1987
Test runs for India: 10,122 runs
Gavaskar had one of the best starts to his international career; he scored four centuries and three half-centuries in his first eight innings.
He added 30 more centuries and 42 extra half-centuries in his 16-year career. His best score was an unbeaten 236 against the famed West Indies bowling attack that featured the talents of Malcolm Marshall, Andy Roberts, and Michael Holding.
His 236 runs were the highest individual score by an Indian batter. The record stood for more than 17 years and 118 Tests.
4. Virat Kohli
- Years active: 2011-2025
- Test runs for India: 9,230 runs
Kohli did not have a flattering start. He strung together scores of 4, 15, 0, 27, and 30 in his first five innings. However, once he got going, he was unstoppable. He amassed 30 centuries, seven of them double hundreds, along with 31 half-centuries.
The former India captain produced his best innings when he scored an unbeaten 254 against South Africa in October 2019. The score made him the fifth Indian batter, alongside VVS Laxman, Virender Sehwag, Rahul Dravid, and Karun Nair, to score more than 250 runs in an innings.
5. VVS Laxman
- Years active: 1996-2012
- Test runs for India: 8,781 runs
Laxman played one of the all-time best innings in Indian cricket when he scored a masterful 281 at Eden Gardens against Australia in 2001.
The visitors won the toss, elected to bat first and piled on 445 runs, to which India replied with a feeble 171. Steve Waugh asked India to follow-on, and India looked in trouble when they lost their first wicket for 52 runs.
Laxman stepped up and wrestled control of the match with a brilliant 281 from 452 deliveries. The tally set India up for victory, and it also broke Gavaskar’s 17-year-long record for the highest score by an Indian batter.
6. Virender Sehwag
- Years active: 2001-2013
- Test runs for India: 8,503 runs
Sehwag was one of the best batters India has ever produced, and he scored six double centuries to prove it. Two of which were 300-plus scores.
Sehwag smashed an outstanding 309 against Pakistan in 2004, but his best was a masterful 319 against South Africa four years later.
Sehwag described the triple against South Africa as his best innings ever. He scored it in his third match after returning from being dropped for 12 months.
The knock was part of a triumphant return to Test cricket. Sehwag finished his 12-year Test career with 23 centuries and 32 half-centuries, for an average of 49.34 in 180 innings.
7. Sourav Ganguly
- Years active: 1996-2008
- Test runs for India: 7,212 runs
Ganguly made his mark in his first two innings. He announced himself on the international arena with 131 runs from 301 and followed it up with an outstanding 136 from 268 balls in the second Test. The former Indian star was a man for a crisis.
In December 2007, India was on 44/2 when he walked to the crease. They lost two more wickets in quick succession, slumping to 61/4. Ganguly took the reins and led India’s recovery with a fifth-wicket partnership of 300 with Yuvraj Singh.
Ganguly went on to score 239 from 361 balls. The knock put India in a position from which they could not lose.
Ganguly finished his career with 16 centuries and 35 half-centuries for an average of 42.17 in his 12-year career.
8. Cheteshwar Pujara
- Years active: 2010-2023
- Test runs for India: 7,195 runs
Pujara ended his international career in August 2025, denying himself the improbable opportunity to finish among India’s top seven run-scorers in Test cricket.
Perhaps one more knock and he would have been able to surpass Ganguly, but that recall to the XI was probably never coming.
Pujara’s Test career included 19 centuries, led by a best of 206 not out against England in Ahmedabad in 2012.
His final Test was the World Test Championship final against Australia in 2023.
Most Test runs for India – top 8 summary list
1. Sachin Tendulkar: 15,921 runs
2. Rahul Dravid: 13,265 runs
3. Sunil Gavaskar: 10,122 runs
4. Virat Kohli: 9,230 runs
5. VVS Laxman: 8,781 runs
6. Virender Sehwag: 8,503 runs
7. Sourav Ganguly: 7,212 runs
8. Cheteshwar Pujara: 7,195 runs
Read next:Â Who has the most Test hundreds? Joe Root in hot pursuit of No.1 spot