On 3 May 2024, Sunil Narine dismissed Rohit Sharma for the eighth time in the IPL. No bowler has taken any batter's wicket more often in the league's history. The duel began on 16 May 2012, when Rohit was a young Mumbai middle-order batter and Narine was in his first IPL season, and it has now run across 13 editions. In 137 balls from Narine, Rohit has made 145 runs. That is barely a run a ball, from a batter who has scored at well over a run a ball across his IPL career.
The IPL record books usually measure players against the whole league: most runs, most wickets, most sixes. This piece measures them against one opponent at a time. We went through all 1,243 matches in Cricsheet's ball-by-ball record, from the first game on 18 April 2008 to the IPL 2026 final on 31 May 2026, and counted every run a batter has scored against each franchise, every wicket a bowler has taken against each, and every time one player has dismissed another. Several of those head-to-head records are now held jointly or by a margin of a few runs, and the players chasing them are still active, so some could change hands in IPL 2027.
How we counted
Franchise renames are merged, so Kings XI Punjab's matches count as Punjab Kings and Delhi Daredevils' as Delhi Capitals. Franchises that replaced others are kept separate, which means Deccan Chargers (2008-2012) are not folded into Sunrisers Hyderabad. A bowler is credited only with the dismissals the scorecard gives him: bowled, caught, lbw, stumped, caught and bowled and hit wicket. Run outs are excluded. Super overs are excluded too, because they are tie-breakers and not part of the 20-over contest. "Active" means the player appeared in at least one IPL 2026 match.
The duels that define the IPL
Narine and Rohit: eight in fourteen years
Narine's eight dismissals of Rohit are spread evenly. He got him caught on 16 May 2012, caught and bowled him on 24 April 2013, bowled him in both 2014 and 2015, had him lbw in 2017, and had him caught in 2018, 2021 and 2024. Two of the eight were bowled, which says a lot about how often Narine has beaten Rohit through the air and off the pitch, not just found the fielder. Rohit has been dismissed seven times by Amit Mishra (profile), the leg-spinner who played for Delhi, Deccan, Hyderabad and Lucknow. Mishra last dismissed him on 20 April 2021 and last played in 2024, so that line is closed.
The duel is not finished. Both men played in IPL 2026, and Rohit faced Narine again during the season without being dismissed. A ninth dismissal would extend a record that nobody else has reached. If Rohit gets through IPL 2027 against Kolkata Knight Riders without losing his wicket to Narine, the record stays at eight and the three active pairs on seven get another year to catch it.
Three active pairs on seven
Three active pairs sit one dismissal behind the record, and each has a different story.
[Rishabh Pant](/players/rishabh-pant) and [Jasprit Bumrah](/players/jasprit-bumrah). This is the most one-sided rivalry in the table. Pant has faced 46 balls from Bumrah, scored 55 runs and been dismissed seven times: an average of 7.9. Bumrah bowled him on 15 May 2016, had him caught twice in 2017, bowled him on 18 April 2019, had him lbw on 31 October 2020 and had him caught in 2021 and on 27 April 2024. Pant is one of the most dangerous attacking batters in the league, and Bumrah is the one bowler he has never solved. Pant now captains Lucknow Super Giants and Bumrah plays for Mumbai Indians, so every LSG-MI fixture in 2027 is a chance for Bumrah to draw level with Narine.
[Virat Kohli](/players/virat-kohli) and [Sandeep Sharma](/players/sandeep-sharma). This one breaks the usual pattern. Kohli has scored 141 runs off 91 balls from Sandeep, a strike rate of 154.9, much faster than he scores against most new-ball bowlers. He has also been out to him seven times. Five of those dismissals came when Sandeep was bowling for Kings XI Punjab between 28 April 2014 and 5 May 2017, two of them bowled. The other two came in Sandeep's Sunrisers years, in 2019 and 2020. Kohli has not been out to Sandeep since 31 October 2020, so the record may be safe from this pair. Sandeep now plays for Rajasthan Royals.
[Ajinkya Rahane](/players/ajinkya-rahane) and [Bhuvneshwar Kumar](/players/bhuvneshwar-kumar). All seven dismissals were catches. Rahane has scored 109 runs off 124 balls from him, a strike rate of 87.9. That is the lowest strike rate in any of the long rivalries in this piece. The first six dismissals came between 2012 and 2016, when Bhuvneshwar was with Pune Warriors and Sunrisers Hyderabad. The seventh came on 28 April 2024, when Rahane was batting for Chennai Super Kings. Rahane now captains KKR and Bhuvneshwar bowls for Royal Challengers Bangalore.
The new rivalry: Gill and Bhuvneshwar
The rivalry that moved most in 2026 is Shubman Gill against Bhuvneshwar. Bhuvneshwar dismissed Gill twice for RCB in IPL 2026: caught on 30 April and bowled in Qualifier 1 on 26 May, the 92-run win that sent RCB straight to the final. That took the pair to six dismissals, alongside the first in 2018, when Gill was a Kolkata teenager, and later ones in 2022, 2023 and 2025. Gill has 85 runs off 84 balls from Bhuvneshwar. Two more dismissals in IPL 2027 would put him level with Rohit and Narine. Gill was 18 when the rivalry began, so this is the pair with the most time left to set a new mark.
The data: rivalry records across 19 seasons
Most dismissals of one batter by one bowler
| Batter | Bowler | Dismissals | Runs | Balls | Last dismissal |
|---|---|---|---|---|---|
| Rohit Sharma | Sunil Narine | 8 | 145 | 137 | 3 May 2024 |
| Rishabh Pant | Jasprit Bumrah | 7 | 55 | 46 | 27 Apr 2024 |
| Virat Kohli | Sandeep Sharma | 7 | 141 | 91 | 31 Oct 2020 |
| Ajinkya Rahane | Bhuvneshwar Kumar | 7 | 109 | 124 | 28 Apr 2024 |
| Rohit Sharma | Amit Mishra | 7 | 87 | 91 | 20 Apr 2021 |
| Shubman Gill | Bhuvneshwar Kumar | 6 | 85 | 84 | 26 May 2026 |
| Rohit Sharma | Sandeep Sharma | 6 | 38 | 47 | 7 Apr 2026 |
Rohit appears three times in the table. That is partly because he has batted in more IPL innings than almost anyone and opened for most of them. His record against Sandeep Sharma is the bleakest of the three: 38 runs off 47 balls and six dismissals, the latest an lbw on 7 April 2026 when Mumbai played Rajasthan. Sandeep could therefore draw level with Narine through either Kohli or Rohit, and he needs two more dismissals of either one to do it.
Most runs against a single opponent
| Batter | Opponent | Runs | Innings | Avg | SR | Status |
|---|---|---|---|---|---|---|
| Virat Kohli | Punjab Kings | 1,217 | 37 | 36.9 | 133.6 | Active |
| Rohit Sharma | Kolkata Knight Riders | 1,176 | 36 | 40.6 | 131.0 | Active |
| Virat Kohli | Chennai Super Kings | 1,174 | 35 | 37.9 | 128.3 | Active |
| Virat Kohli | Delhi Capitals | 1,172 | 32 | 48.8 | 134.4 | Active |
| David Warner | Punjab Kings | 1,134 | 26 | 49.3 | 144.3 | Last played 2024 |
| Virat Kohli | Kolkata Knight Riders | 1,126 | 33 | 45.0 | 136.7 | Active |
| Rohit Sharma | Delhi Capitals | 1,092 | 38 | 31.2 | 132.7 | Active |
| Shikhar Dhawan | Chennai Super Kings | 1,057 | 29 | 48.0 | 131.8 | Retired |
| KL Rahul | Mumbai Indians | 977 | 21 | 65.1 | 135.1 | Active |
Kohli holds the record, against Punjab, and he has passed 1,000 runs against four franchises. Nobody else has done that against more than two. He took 169 runs off Punjab in 2024 and 129 in 2025, which is how he moved clear. In IPL 2026 he added only 58 against them, and that let the chasers close in. Rohit is 41 runs behind against Kolkata, after adding 93 against them in 2026, his best return against KKR since 2020. Kohli's own figures against Chennai (1,174) and Delhi (1,172) are 43 and 45 behind his Punjab total, so in 2027 the record could pass to Rohit, stay with Kohli, or simply move to another Kohli line.
There are two near-misses worth watching. Kohli has 972 runs against Mumbai Indians and Rohit has 972 against Chennai Super Kings. Each is 28 short of 1,000. Kohli's fifth 1,000-run opponent would be a mark nobody else is close to. KL Rahul has 977 against Mumbai in only 21 innings, at an average of 65.1, the fewest innings of anyone in the table. One good innings against MI in 2027 would take him past 1,000.
Most wickets against a single opponent
| Bowler | Opponent | Wickets | Status |
|---|---|---|---|
| Sunil Narine | Punjab Kings | 36 | Active (KKR) |
| Bhuvneshwar Kumar | Punjab Kings | 36 | Active (RCB) |
| Umesh Yadav | Punjab Kings | 35 | Last played 2024 |
| Bhuvneshwar Kumar | Kolkata Knight Riders | 33 | Active (RCB) |
| Yuzvendra Chahal | Kolkata Knight Riders | 33 | Active (PBKS) |
| Mohit Sharma | Mumbai Indians | 33 | Last played 2025 |
| Dwayne Bravo | Mumbai Indians | 33 | Retired |
| Jasprit Bumrah | Delhi Capitals | 30 | Active (MI) |
The bowling record has been shared since IPL 2026. Narine had held it alone. He took seven Kings XI wickets in 2012 and has taken at least one against them in almost every season since, but he took none against Punjab in 2026. Bhuvneshwar took two, which brought him level on 36. He had already taken five against them in 2025. In IPL 2027 the first of the two to take a Punjab wicket will hold the record alone. Punjab Kings are the opponent in the top three lines of this table, which suggests their batting has been the most generous in the league to the same few bowlers over the years.
Yuzvendra Chahal shows how a trade can freeze a record. He has 32 wickets against Punjab Kings, four short of the record, but he now plays for Punjab and cannot add to that line. His 33 against Kolkata can still grow.
Legacy impact: what this means today
There are three reasons these numbers matter going into 2027.
First, they show how long the careers are. Kohli and Rohit have played every edition since 2008. A run total of 1,200 against one franchise needs 35-odd innings against it, which means close to two decades of playing that team twice a year. The 2008-2026 window is the first in which records like this could be built, and the generation now in its late thirties may be the last to build them in one uninterrupted career. Trades and mega-auctions keep moving players between franchises, which interrupts a run against any one opponent.
Second, they explain some of what captains do. Rohit has been dismissed by Narine eight times and scores barely a run a ball off him. Pant averages under 8 against Bumrah. When Kolkata bring Narine on early against Mumbai's openers, or Mumbai hold Bumrah back for Pant, they are acting on this history as well as on general matchup data.
Third, they connect to how CricMind predicts matches. The Oracle does not price individual rivalries into a single match call. Its model works from team ratings, form and venue, and it shows its working on the predictions hub and in the Matchup Machine. A duel like Pant against Bumrah is the kind of detail that a team rating averages out, and it helps explain why the calibration page gives pre-match calls realistic ranges and not certainty.
Three takeaways
- The batter-versus-bowler record is close. Rohit and Narine hold it on eight dismissals. Pant and Bumrah, Kohli and Sandeep, and Rahane and Bhuvneshwar are all active and all on seven, and Gill and Bhuvneshwar added two in 2026 to reach six.
- The runs record could change hands. Kohli's 1,217 against Punjab leads Rohit's 1,176 against Kolkata by 41, and Kohli's own totals against Chennai and Delhi are within 45 of it.
- The bowling record is shared. Narine and Bhuvneshwar have 36 wickets each against Punjab Kings. The first of them to take a Punjab wicket in 2027 will hold it alone.
FAQ
Which bowler has dismissed one batter the most times in the IPL?
Sunil Narine has dismissed Rohit Sharma eight times, between 16 May 2012 and 3 May 2024. That is the most by any bowler against one batter in IPL history, counting bowler-credited dismissals and excluding run outs and super overs, in Cricsheet's record of 1,243 matches from 2008 to 2026.
Who has scored the most IPL runs against a single team?
Virat Kohli has 1,217 runs against Punjab Kings (including their Kings XI Punjab years) in 37 innings. Rohit Sharma is second with 1,176 against Kolkata Knight Riders.
Against how many teams has Virat Kohli scored 1,000 IPL runs?
Four: Punjab Kings (1,217), Chennai Super Kings (1,174), Delhi Capitals (1,172) and Kolkata Knight Riders (1,126). He has 972 against Mumbai Indians, 28 short of a fifth.
What is Rishabh Pant's record against Jasprit Bumrah in the IPL?
Pant has scored 55 runs off 46 balls from Bumrah and been dismissed seven times, an average of 7.9. Only Narine against Rohit, with eight, has more dismissals in a single IPL pairing.
Who has taken the most IPL wickets against one team?
Sunil Narine and Bhuvneshwar Kumar are tied with 36 wickets each against Punjab Kings. Bhuvneshwar drew level by taking two Punjab wickets in IPL 2026. Umesh Yadav is third with 35, also against Punjab.
How many times has Bhuvneshwar Kumar dismissed Shubman Gill?
Six times, two of them in IPL 2026: caught on 30 April and bowled in Qualifier 1 on 26 May. Gill has 85 runs off 84 balls from Bhuvneshwar.
Where do these numbers come from?
All figures are from Cricsheet's ball-by-ball data for 1,243 IPL matches, 18 April 2008 to 31 May 2026. Franchise renames are merged, run outs and super overs are excluded, and replacement franchises such as Deccan Chargers and Sunrisers Hyderabad are kept separate. For full careers, see the IPL records hub and each player's profile.