| Opponent | Matches | Inns | Not Out | Runs | HS | Ave | 100 | 50 | Ct | St |
| Australia | 45 | 45 | 0 | 1333 | 175 | 29.62 | 3 | 3 | 17 | |
| Australia A | 1 | 1 | 0 | 22 | 22 | 22.00 | 0 | 0 | 0 | |
| Australians | 1 | 0 | 0 | |||||||
| Bangladesh | 12 | 12 | 3 | 532 | 153 | 59.11 | 1 | 4 | 5 | |
| Barbados | 1 | 1 | 0 | 54 | 54 | 54.00 | 0 | 1 | 0 | |
| Boland | 4 | 4 | 0 | 177 | 98 | 44.25 | 0 | 2 | 2 | |
| Border | 7 | 6 | 1 | 135 | 59 | 27.00 | 0 | 1 | 4 | |
| Border Country Districts | 1 | 1 | 0 | 11 | 11 | 11.00 | 0 | 0 | 1 | |
| Canada | 1 | 1 | 0 | 8 | 8 | 8.00 | 0 | 0 | 0 | |
| Dolphins | 9 | 8 | 2 | 357 | 121* | 59.50 | 2 | 0 | 4 | |
| Eagles | 6 | 6 | 2 | 181 | 79 | 45.25 | 0 | 2 | 4 | |
| Eastern Province | 8 | 7 | 0 | 220 | 90 | 31.42 | 0 | 1 | 5 | |
| Eastern Transvaal | 1 | 1 | 0 | 32 | 32 | 32.00 | 0 | 0 | 2 | |
| Easterns | 2 | 2 | 1 | 27 | 24* | 27.00 | 0 | 0 | 0 | |
| England | 23 | 22 | 0 | 635 | 118 | 28.86 | 2 | 4 | 8 | |
| England Lions | 2 | 2 | 0 | 109 | 81 | 54.50 | 0 | 1 | 0 | |
| England XI | 2 | 2 | 0 | 29 | 24 | 14.50 | 0 | 0 | 1 | |
| Essex | 1 | 1 | 0 | 48 | 48 | 48.00 | 0 | 0 | 1 | |
| Free State | 6 | 6 | 1 | 164 | 110* | 32.80 | 1 | 0 | 3 | |
| Gauteng | 5 | 5 | 0 | 199 | 105 | 39.80 | 1 | 1 | 6 | |
| Gloucestershire | 1 | 1 | 0 | 55 | 55 | 55.00 | 0 | 1 | 0 | |
| Griqualand West | 5 | 5 | 1 | 211 | 71 | 52.75 | 0 | 3 | 4 | |
| Impalas | 2 | 0 | 0 | |||||||
| India | 30 | 27 | 3 | 1064 | 116* | 44.33 | 2 | 5 | 10 | |
| Indians | 1 | 1 | 0 | 0 | 0 | 0.00 | 0 | 0 | 1 | |
| Ireland | 2 | 2 | 0 | 8 | 6 | 4.00 | 0 | 0 | 2 | |
| Jamaica | 2 | 2 | 0 | 62 | 54 | 31.00 | 0 | 1 | 2 | |
| Kenya | 9 | 9 | 1 | 410 | 116 | 51.25 | 1 | 2 | 6 | |
| KwaZulu-Natal | 2 | 2 | 0 | 29 | 16 | 14.50 | 0 | 0 | 2 | |
| Lions | 6 | 6 | 2 | 189 | 74* | 47.25 | 0 | 2 | 2 | |
| Middlesex | 1 | 1 | 0 | 7 | 7 | 7.00 | 0 | 0 | 1 | |
| Natal | 9 | 9 | 0 | 264 | 101 | 29.33 | 1 | 0 | 4 | |
| Netherlands | 1 | 1 | 0 | 72 | 72 | 72.00 | 0 | 1 | 0 | |
| New Zealand | 29 | 29 | 1 | 1042 | 143 | 37.21 | 2 | 6 | 15 | |
| New Zealand Academy | 1 | 1 | 0 | 69 | 69 | 69.00 | 0 | 1 | 1 | |
| North West | 3 | 3 | 0 | 147 | 94 | 49.00 | 0 | 1 | 3 | |
| Northamptonshire | 1 | 1 | 0 | 15 | 15 | 15.00 | 0 | 0 | 0 | |
| Northern Districts | 1 | 1 | 0 | 27 | 27 | 27.00 | 0 | 0 | 0 | |
| Northern Ireland | 1 | 1 | 0 | 11 | 11 | 11.00 | 0 | 0 | 1 | |
| Northern Transvaal | 4 | 4 | 1 | 111 | 53* | 37.00 | 0 | 1 | 0 | |
| Northerns | 2 | 1 | 0 | 2 | 2 | 2.00 | 0 | 0 | 0 | |
| Orange Free State | 7 | 7 | 2 | 80 | 22 | 16.00 | 0 | 0 | 1 | |
| Pakistan | 25 | 22 | 1 | 595 | 114 | 28.33 | 2 | 3 | 12 | |
| Pakistan Cricket Board XI | 1 | 1 | 0 | 18 | 18 | 18.00 | 0 | 0 | 0 | |
| Queensland | 1 | 1 | 0 | 5 | 5 | 5.00 | 0 | 0 | 0 | |
| Scotland | 1 | 0 | 0 | |||||||
| Sri Lanka | 28 | 28 | 1 | 622 | 108* | 23.03 | 1 | 3 | 15 | |
| Sri Lanka Cricket Development XI | 1 | 1 | 0 | 14 | 14 | 14.00 | 0 | 0 | 0 | |
| Sussex | 1 | 1 | 0 | 31 | 31 | 31.00 | 0 | 0 | 0 | |
| Titans | 7 | 6 | 0 | 216 | 102 | 36.00 | 1 | 1 | 0 | |
| Transvaal | 7 | 5 | 1 | 178 | 89* | 44.50 | 0 | 2 | 1 | |
| Warriors | 7 | 7 | 0 | 157 | 60 | 22.42 | 0 | 2 | 3 | |
| Warwickshire | 1 | 1 | 1 | 47 | 47* | 0 | 0 | 0 | ||
| West Indies | 29 | 29 | 4 | 1074 | 125 | 42.96 | 5 | 2 | 12 | |
| Western Transvaal | 2 | 2 | 1 | 73 | 73* | 73.00 | 0 | 1 | 2 | |
| Worcestershire | 1 | 1 | 0 | 27 | 27 | 27.00 | 0 | 0 | 0 | |
| Zimbabwe | 17 | 17 | 2 | 743 | 125 | 49.53 | 2 | 4 | 6 | |
| Zimbabwe A | 1 | 1 | 0 | 28 | 28 | 28.00 | 0 | 0 | 1 |