plays for Walsall
| Match | Mins | Goals | Assists | Shots (on) | Rating |
|---|---|---|---|---|---|
| Bromley v Walsall Β· May 2, 26 Β· EL2 | 90 | 0 | 0 | β | 6.3 |
| Walsall v Harrogate Β· Apr 25, 26 Β· EL2 | 90 | 0 | 0 | 1 | 7.0 |
| Barrow v Walsall Β· Apr 18, 26 Β· EL2 | 90 | 0 | 0 | 1 | 7.0 |
| Walsall v Cheltenham Β· Apr 11, 26 Β· EL2 | 90 | 0 | 0 | β | 7.6 |
| Swindon v Walsall Β· Apr 6, 26 Β· EL2 | 90 | 0 | 0 | 1 | 5.9 |
| Colchester v Walsall Β· Mar 28, 26 Β· EL2 | 90 | 0 | 0 | β | 7.0 |
| Walsall v Newport County Β· Mar 21, 26 Β· EL2 Β· sub | 35 | 0 | 0 | 1 | 6.9 |
| Walsall v Cambridge Β· Mar 17, 26 Β· EL2 Β· sub | 38 | 0 | 0 | 1 (1) | 7.3 |
| Salford v Walsall Β· Mar 10, 26 Β· EL2 | 90 | 0 | 0 | 1 | 6.2 |
| Walsall v Notts County Β· Mar 7, 26 Β· EL2 | 90 | 0 | 0 | β | 7.3 |
| Walsall v Fleetwood Town Β· Mar 3, 26 Β· EL2 | 90 | 0 | 0 | 2 | 7.2 |
| Shrewsbury v Walsall Β· Feb 28, 26 Β· EL2 | 90 | 0 | 0 | 1 | 6.9 |
| Walsall v Milton Keynes Dons Β· Feb 23, 26 Β· EL2 | 90 | 0 | 0 | β | 6.2 |
| Grimsby v Walsall Β· Feb 18, 26 Β· EL2 | 90 | 0 | 0 | β | 6.2 |
| Walsall v Barnet Β· Feb 7, 26 Β· EL2 | 90 | 0 | 0 | β | 6.3 |
| Match | blocks | conceded | dribbles past | duels | duels won | fouls committed | fouls drawn | interceptions | key passes | passes | red | tackles | yellow |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Bromley v Walsall | 2 | 0 | 1 | 18 | 9 | 3 | 2 | 1 | β | 27 | 0 | 1 | 1 |
| Walsall v Harrogate | β | 0 | β | 14 | 10 | β | β | β | 1 | 41 | 0 | 2 | 1 |
| Barrow v Walsall | 1 | 0 | β | 7 | 6 | β | β | β | β | 34 | 0 | 1 | 0 |
| Walsall v Cheltenham | 3 | 0 | β | 6 | 3 | β | β | 2 | β | 46 | 0 | 1 | 0 |
| Season | Team | Apps | Goals | Assists | Minutes | Avg rating |
|---|---|---|---|---|---|---|
| 2025-26 Β· EFL League Two | Walsall | 42 | 1 | 1 | 3,673 | 6.92 |
| 2024-25 Β· EFL League One | Mansfield | 34 | 1 | 0 | 1,415 | 6.82 |
| 2023-24 Β· EFL League Two | Mansfield | 46 | 2 | 2 | 3,992 | 7.22 |
only matches where we hold the full stat line β coverage grows as the history backfill runs
| Swindon v Walsall | β | 0 | β | 5 | 1 | 1 | β | β | β | 21 | 0 | 1 | 1 |
| Colchester v Walsall | 1 | 0 | β | 7 | 6 | 1 | β | β | 1 | 24 | 0 | 3 | 0 |
| Walsall v Newport County | β | 0 | 1 | 10 | 4 | β | β | β | β | 23 | 0 | β | 0 |
| Walsall v Cambridge | β | 0 | β | 10 | 8 | β | 1 | β | β | 9 | 0 | 2 | 0 |
| Salford v Walsall | β | 0 | 3 | 13 | 5 | β | 2 | β | 1 | 20 | 0 | β | 1 |
| Walsall v Notts County | 1 | 0 | β | 6 | 6 | β | 2 | 3 | β | 26 | 0 | 2 | 0 |
| Walsall v Fleetwood Town | β | 0 | β | 10 | 7 | β | 2 | β | 1 | 47 | 0 | 2 | 0 |
| Shrewsbury v Walsall | 1 | 0 | β | 21 | 10 | β | 2 | β | β | 35 | 0 | β | 0 |
| Walsall v Milton Keynes Dons | β | 0 | β | 5 | 3 | β | 1 | 1 | β | 19 | 0 | β | 1 |
| Grimsby v Walsall | β | 0 | β | 8 | 5 | β | 1 | 2 | β | 20 | 0 | 2 | 0 |
| Walsall v Barnet | β | 0 | β | 7 | 6 | 1 | 2 | 3 | β | 29 | 0 | 1 | 0 |