AFC Wimbledon had the best goal difference in League Two in 2024/2025, with +24 from 49 games, scoring 59 and conceding 35. Doncaster Rovers and Walsall were next on +23. Stockport County had the best goal difference in 2023/2024, +48.
Morecambe had the worst goal difference in League Two in 2024/2025, with -32 from 46 games, scoring 40 and conceding 72. Carlisle United were next on -27.
There were 1,385 goals in 557 League Two games in 2024/2025, an average of 2.5 a game, 1.2 for each side. Doncaster Rovers and Walsall averaged the most, 1.6 a game each, and Gillingham, Harrogate Town and Morecambe the fewest, 0.9 each.
Walsall had the best expected goal difference in League Two in 2024/2025, with +31.8 from 49 games, creating 76.9 xG and conceding 45.1. Doncaster Rovers were next on +25.6.
| Rank | Team | Goals Scored |
|---|---|---|
| 1 | Walsall | 79 |
| 2 | Chesterfield | 74 |
| 3 | Doncaster Rovers | 73 |
| 4 | Swindon Town | 71 |
| 5 | Notts County | 68 |
| 6 | Port Vale | 65 |
| 7 | Bradford City | 64 |
| 8 | Salford City | 64 |
| 9 | Bromley | 64 |
| 10 | Grimsby Town | 61 |
| Rank | Team | Expected Goals (xG) |
|---|---|---|
| 1 | Walsall | 76.9 |
| 2 | Notts County | 76.4 |
| 3 | Doncaster Rovers | 71.0 |
| 4 | Bradford City | 67.6 |
| 5 | Chesterfield | 64.5 |
| 6 | Swindon Town | 64.5 |
| 7 | Bromley | 60.6 |
| 8 | Port Vale | 60.3 |
| 9 | Fleetwood Town | 59.9 |
| 10 | AFC Wimbledon | 59.8 |
| Rank | Team | Goals Against |
|---|---|---|
| 1 | AFC Wimbledon | 35 |
| 2 | Bradford City | 45 |
| 3 | Port Vale | 46 |
| 4 | Gillingham | 46 |
| 5 | Colchester United | 47 |
| 6 | Crewe Alexandra | 48 |
| 7 | Doncaster Rovers | 50 |
| 8 | Barrow | 50 |
| 9 | Notts County | 51 |
| 10 | Salford City | 54 |
| Rank | Team | Expected Goals Against (xGA) |
|---|---|---|
| 1 | AFC Wimbledon | 43.0 |
| 2 | Barrow | 44.2 |
| 3 | Walsall | 45.1 |
| 4 | Doncaster Rovers | 45.4 |
| 5 | Chesterfield | 48.3 |
| 6 | Bradford City | 48.5 |
| 7 | Port Vale | 48.8 |
| 8 | Accrington Stanley | 51.3 |
| 9 | Swindon Town | 52.2 |
| 10 | Crewe Alexandra | 54.2 |
| Rank | Team | Goal Difference |
|---|---|---|
| 1 | AFC Wimbledon | +24 |
| 2 | Doncaster Rovers | +23 |
| 3 | Walsall | +23 |
| 4 | Port Vale | +19 |
| 5 | Bradford City | +19 |
| 6 | Notts County | +17 |
| 7 | Chesterfield | +16 |
| 8 | Salford City | +10 |
| 9 | Swindon Town | +8 |
| 10 | Colchester United | +5 |
| Rank | Team | Expected Goal Difference (xGD) |
|---|---|---|
| 1 | Walsall | +31.8 |
| 2 | Doncaster Rovers | +25.6 |
| 3 | Notts County | +21.1 |
| 4 | Bradford City | +19.2 |
| 5 | AFC Wimbledon | +16.8 |
| 6 | Chesterfield | +16.2 |
| 7 | Swindon Town | +12.3 |
| 8 | Port Vale | +11.4 |
| 9 | Barrow | +11.0 |
| 10 | Fleetwood Town | +1.3 |
| Rank | Team | Possession % |
|---|---|---|
| 1 | Notts County | 62.5% |
| 2 | Chesterfield | 62.3% |
| 3 | Milton Keynes Dons | 59.7% |
| 4 | Carlisle United | 53.0% |
| 5 | Salford City | 52.1% |
| 6 | Doncaster Rovers | 51.7% |
| 7 | Swindon Town | 51.7% |
| 8 | Tranmere Rovers | 51.6% |
| 9 | Colchester United | 51.3% |
| 10 | Bradford City | 51.0% |
| Rank | Team | Clean Sheets |
|---|---|---|
| 1 | AFC Wimbledon | 24 |
| 2 | Colchester United | 21 |
| 3 | Port Vale | 18 |
| 4 | Gillingham | 17 |
| 5 | Bradford City | 16 |
| 6 | Walsall | 16 |
| 7 | Notts County | 16 |
| 8 | Bromley | 16 |
| 9 | Crewe Alexandra | 16 |
| 10 | Fleetwood Town | 16 |
| Rank | Team | Fouls Committed |
|---|---|---|
| 1 | AFC Wimbledon | 668 |
| 2 | Accrington Stanley | 659 |
| 3 | Salford City | 613 |
| 4 | Gillingham | 590 |
| 5 | Bradford City | 587 |
| 6 | Walsall | 577 |
| 7 | Morecambe | 563 |
| 8 | Colchester United | 551 |
| 9 | Doncaster Rovers | 549 |
| 10 | Milton Keynes Dons | 542 |
| Rank | Team | Yellow Cards |
|---|---|---|
| 1 | Accrington Stanley | 126 |
| 2 | Carlisle United | 122 |
| 3 | Salford City | 117 |
| 4 | Bradford City | 115 |
| 5 | Gillingham | 110 |
| 6 | AFC Wimbledon | 105 |
| 7 | Fleetwood Town | 105 |
| 8 | Crewe Alexandra | 103 |
| 9 | Tranmere Rovers | 99 |
| 10 | Colchester United | 95 |