It all started on January 26, 2007. That was the first time Dale Steyn bowled to Mohammad Hafeez in an international game. It was a Test match in Cape Town, and the first ball in their head-to-head battle was hardly a sign of things to come: a gentle half-volley on leg stump was flicked for four; before the end of that over, Hafeez had flicked another boundary. He made only 10 in that innings, but was dismissed by Makhaya Ntini; against Steyn, he'd scored eight runs off seven balls.

In the second innings of the same Test, though, Steyn had his man for the first time, mistiming a drive to backward point, and that was the beginning of one of the most one-sided head-to-head contests in the last decade and more. Of the 28 times Hafeez has faced Steyn in an international game, 15 times he has ended up being dismissed by him. Seven of those have been catches to the wicketkeeper or the slip cordon, and in ten of those innings he didn't go beyond 10.

In the last 12 years (since the beginning of 2002), no batsman has been dismissed as often in all international cricket as Hafeez by Steyn. Next in line is another South African, but this time at the receiving end: Graeme Smith has been dismissed 13 times by Zaheer Khan - six each in Tests and ODIs, and once in a Twenty20 international. With Zaheer being named in India's Test squad for the tour to South Africa next month, he'll have opportunities to add to that tally. There are other luminaries down that list as well, with Sachin Tendulkar and Chris Gayle both making two appearances each, and Brian Lara and Virender Sehwag in there too. At the bottom of the table is another pair which is currently involved in battle - Mitchell Johnson v Ian Bell. Bell has fared poorly against Johnson so far, getting out to him ten times - six in Tests, two each in ODIs and Twenty20 internationals - at a rather poor average of 16.50.

Apart from the number of dismissals, the average for a batsman against the bowler also indicates how dominant the bowler has been. Hafeez, for example, has averaged a miserable 10.53 runs per dismissal against Steyn in all the matches they've played. (This includes all games, including those in which Steyn didn't dismiss Hafeez.) Similarly, Ashwell Prince against Shane Warne has been a one-sided story, as has Bell-Johnson. If Tim Bresnan recovers fully and takes part in the Ashes, England might want to unleash him on Shane Watson, given how much success he's had against Watson.

On the other hand, some of the other batsmen haven't had such lopsided stats, despite being dismissed by a bowler several times. Tillakaratne Dilshan, for example, averages 34 against Harbhajan despite being dismissed by him 12 times, which suggests he hasn't struggled too much. Similarly, Tendulkar averaged nearly 37 against Brett Lee, despite 12 dismissals; he had more problems against James Anderson, though, averaging 29 against him. Also, Anderson dismissed Tendulkar nine times in Tests, when batsmen are usually not under pressure to score quickly and hence take more risks; Lee, on the other hand, got Tendulkar seven times in ODIs.

(The averages mentioned in the tables below are the batsman v bowler average in all the matches in which they played each other; in the statsguru links, the averages refer to the batsman's average in all the innings in which he was dismissed by that bowler. In statsguru, runs scored against all bowlers in those innings are included; in the tables below, runs scored against the particular bowler in all innings are included.)

Bowlers who've dismissed a batsman most often in all int cricket since Jan 2002 Batsman Bowler Inngs Balls Runs Dismissals Average Mohammad Hafeez Dale Steyn 28 226 158 15 10.53 Graeme Smith Zaheer Khan 30 402 247 13 19.00 Tillakaratne Dilshan Harbhajan Singh 32 552 409 12 34.08 Ramnaresh Sarwan Brett Lee 31 360 245 12 20.41 Sachin Tendulkar James Anderson 34 544 348 12 29.00 Sachin Tendulkar Brett Lee 41 728 441 12 36.75 Marcus Trescothick Makhaya Ntini 26 640 382 12 31.83 Chris Gayle James Anderson 32 397 304 11 27.63 Chris Gayle Makhaya Ntini 22 414 312 11 28.36 Brian Lara Andre Nel 20 413 235 11 21.36 Ashwell Prince Shane Warne 18 466 164 11 14.90 Virender Sehwag Brett Lee 38 468 354 11 32.18 Andrew Strauss Brett Lee 41 655 339 11 30.81 Ross Taylor Stuart Broad 37 415 248 11 22.54 Shane Watson Tim Bresnan 22 323 207 11 18.81 Ian Bell Mitchell Johnson 23 303 165 10 16.50

Coming back to the Hafeez-Steyn story, Steyn has caused the maximum damage in Tests, and always early in the innings. In the matches in which Steyn has played (in all formats), Hafeez averages 19.82 from 30 innings, almost ten runs lower than his career average across formats.

The first time Steyn bowled to Hafeez was in the beginning of 2007. Since then, Hafeez has been dismissed 48 times by bowlers in Tests, of which Steyn has done the job eight times, which means 17% of all his dismissals in Tests in the last seven years have been at the hands of one bowler. Against all other bowlers in Tests during this period, Hafeez has averaged almost 36; because of the Steyn factor, though, his overall average against all bowlers drops to less than 32. (The dismissals count excludes run-outs.)

Steyn v Hafeez in each format Format Innings Balls Runs Dismissals Average Tests 14 130 87 8 10.87 ODIs 10 84 58 5 11.60 T20Is 4 12 13 2 6.50 Overall 28 226 158 15 10.53

Hafeez v Steyn and other bowlers in Tests since 2007 Versus Balls Runs Dismissals Average Dale Steyn 130 87 8 10.87 Others 2529 1431 40 35.78 Overall 2659 1518 48 31.62

In 2013 alone, Steyn has dismissed Hafeez ten times - four times each in Tests and ODIs, and twice in Twenty20 internationals. Hafeez's average against Steyn in 2013: 4.00. In the last 12 years, no batsman - specialist or otherwise - has been dismissed by one bowler so many times in a calendar year.

The table below lists other such instances as well, and among the batsmen who've been bunny for a year are Lara, Gayle, Gilchrist, Sehwag and Smith. Gayle's in the list twice, but he didn't have such a bad time against Steve Harmison in 2004, scoring 262 runs in 291 balls. Against Zaheer it was a different story. Lara, for some reason, couldn't fathom Andy Bichel's bowling in 2003, while Adam Gilchrist struggled against Andrew Flintoff's round-the-wicket line in 2005.

Three of the ten instances listed below are from 2013: apart from Steyn, there've been two other bowlers who've utterly dominated a batsman. R Ashwin dismissed Phil Hughes seven times in ten innings - five times in Tests at a cost of 39 runs, and twice in ODIs conceding eight. His average against Hughes in 2013: 6.71.

Smith has the Zaheer challenge coming up later this year, but he has already had his problems against a bowler this year: Saeed Ajmal has dismissed him seven times in eight innings in 2013, at an average of 15.71. Smith hasn't been so lost against Ajmal in Tests, scoring 103 runs for four dismissals, but in ODIs he has scored seven and been dismissed three times.

Bowler dismissing a batsman most often in all international matches in a calendar year (since 2002) Batsman Bowler Year Inngs Balls Runs Dismissals Average Mohammad Hafeez Dale Steyn 2013 17 110 40 10 4.00 Jacob Oram Ryan Sidebottom 2008 15 214 105 9 11.67 Chris Gayle Steve Harmison 2004 24 291 262 7 37.42 Chris Gayle Zaheer Khan 2002 12 158 88 7 12.57 Adam Gilchrist Andrew Flintoff 2005 16 199 150 7 20.00 Phil Hughes R Ashwin 2013 10 205 47 7 6.71 Brian Lara Andy Bichel 2003 13 209 132 7 18.85 Virender Sehwag Merv Dillon 2002 12 161 125 7 17.85 Graeme Smith Saeed Ajmal 2013 8 202 110 7 15.71 Andrew Strauss Nathan Hauritz 2009 9 149 72 7 10.28

Having just negotiated - not so successfully - the guiles of Ajmal, Smith will have to prepare himself for the challenge of facing up to a bowler who is at his best against left-handers: the four batsmen Zaheer has dismissed most often in Tests are all left-hand ones - Smith (13 times), Kumar Sangakkara (11), Sanath Jayasuriya and Matthew Hayden (ten each). Smith's problems against Zaheer, though, have been more pronounced in ODIs than in Tests, where he averages nearly 30 against him. Zaheer hasn't been included in the ODI squad for the tour to South Africa, which might just ease Smith's concerns a little bit.

Graeme Smith v Zaheer Khan in each format Format Innings Balls Runs Dismissals Average Tests 16 284 178 6 29.67 ODIs 12 98 50 6 8.33 T20Is 2 20 19 1 19.00 Overall 30 402 247 13 19.00

(This piece deals with all stats since 2002, because this is the period over which ESPNcricinfo has complete ball-by-ball stats for all international matches. For an overall list of bowlers who've dismissed batsmen most often in all international cricket, click here.)