2025–26 AFC Ajax season
AFC Ajax 2025–26 football season
From Wikipedia, the free encyclopedia
The 2025–26 season was the 126th season in the history of Ajax, and their 70th consecutive season in the Dutch top flight. The club participated in the Eredivisie, KNVB Cup and UEFA Champions League.
(until 6 November 2025)
Fred Grim
(caretaker, until 8 March 2026)
Óscar García
(caretaker, from 8 March 2026)
| 2025–26 season | ||||
|---|---|---|---|---|
| Owner | AFC Ajax N.V. (Euronext Amsterdam: AJAX) | |||
| CEO | Menno Geelen | |||
| Head coach | John Heitinga (until 6 November 2025) Fred Grim (caretaker, until 8 March 2026) Óscar García (caretaker, from 8 March 2026) | |||
| Stadium | Johan Cruyff Arena | |||
| Eredivisie | 5th | |||
| Eredivisie European competition play-offs | Winners | |||
| KNVB Cup | Round of 16 | |||
| UEFA Champions League | League phase | |||
| Top goalscorer | League: Mika Godts (17) All: Mika Godts (17) | |||
| Highest home attendance | 55,865 (vs NAC Breda, 27 September 2025 Eredivisie) | |||
| Lowest home attendance | 47,506 (vs Feyenoord, 14 December 2025 Eredivisie) | |||
| Average home league attendance | 50,382 | |||
| Biggest win | 7–2 (vs Excelsior (A) 17 December 2025 KNVB Cup) | |||
| Biggest defeat | 0–6 (vs AZ (A) 14 January 2026 KNVB Cup) | |||
|
| ||||
Players
Squad
- As of 2 February 2026
Note: Flags indicate national team as defined under FIFA eligibility rules; some limited exceptions apply. Players may hold more than one non-FIFA nationality.
|
|
Transfers
In
| Date | Pos. | Player | Transferred from | Fee | Ref. |
|---|---|---|---|---|---|
| 15 July 2025 | FW | €11,000,000 | [1] | ||
| 28 July 2025 | GK | €2,000,000 | [2] | ||
| 1 August 2025 | MF | €14,750,000[a] | [3] | ||
| 8 August 2025 | DF | €10,500,000 | [4] | ||
| 2 September 2025 | FW | €10,000,000 | [5] | ||
| 16 December 2025 | DF | Unattached [b] | Free transfer | [6] | |
| 1 February 2026 | DF | €1,500,000 | [7] | ||
| 2 February 2026 | GK | €1,500,000 | [8] | ||
| 3 February 2026 | FW | €5,950,000 | [9] |
Out
| Date | Pos. | Player | Transferred to | Fee | Ref. |
|---|---|---|---|---|---|
| 25 June 2025 | DF | €2,000,000 | [10] | ||
| 27 June 2025 | DF | Undisclosed | [11] | ||
| 8 July 2025 | MF | €1,800,000 | [12] | ||
| 10 July 2025 | MF | Free transfer | [13] | ||
| 10 July 2025 | FW | €1,500,000 | [14] | ||
| 11 July 2025 | DF | €2,300,000 | [15] | ||
| 17 July 2025 | FW | €6,000,000 | [16] | ||
| 23 July 2025 | GK | Free transfer | [17] | ||
| 3 August 2025 | DF | €44,180,000 | [18] | ||
| 1 September 2025 | FW | €20,000,000 | [19] | ||
| 1 September 2025 | FW | €2,500,000 | [20] | ||
| 9 January 2026 | MF | €16,850,000 | [21] | ||
| 19 January 2026 | MF | Undisclosed | [22] | ||
| 22 January 2026 | FW | €5,000,000 | [23] | ||
| 22 January 2026 | MF | Undisclosed | [24] | ||
| 29 January 2026 | GK | Free transfer | [25] |
Loans in
| Start date | Pos. | Player | From | End date | Fee | Ref. |
|---|---|---|---|---|---|---|
| 18 June 2025 | GK | 30 June 2026 | Free | [26] | ||
| 29 August 2025 | MF | 9 January 2026[a] | €1,500,000 | [27] | ||
| 14 January 2026 | MF | 30 June 2026 | Undisclosed | [28] |
Loans out
| Date | Pos. | Player | To | End date | Fee | Ref. |
|---|---|---|---|---|---|---|
| 22 June 2025 | FW | 30 June 2026 | Free | [29] | ||
| 15 July 2025 | FW | 30 June 2026 | Free | [30] | ||
| 10 August 2025 | FW | 30 June 2026 | Free | [31] | ||
| 11 August 2025 | DF | 30 June 2026 | Free | [32] | ||
| 19 August 2025 | DF | 30 June 2026 | Free | [33] | ||
| 20 August 2025 | MF | 30 June 2026 | Free | [34] | ||
| 29 August 2025 | DF | 30 June 2026 | Free | [35] | ||
| 29 August 2025 | MF | 30 June 2026 | Free | [36] | ||
| 29 August 2025 | DF | 30 June 2026 | Free | [37] | ||
| 9 January 2026 | DF | 31 December 2026 | Free | [38] | ||
| 22 January 2026 | MF | 30 June 2026 | Free | [39] | ||
| 2 February 2026 | GK | 30 June 2026 | Free | [40] |
- Originally loan agreed until 30 June 2026, but terminated earlier due to McConnell's recall from Liverpool.
Pre-season and friendlies
Win Draw Loss Cancelled/ Susp. Fixtures
Pre-season
| 5 July 2025 Friendly | Ajax | 6–3 | | Ouder-Amstel, Netherlands |
| 13:00 CEST (UTC+2) | Report | Stadium: Sportpark De Toekomst Attendance: Behind closed doors |
| 12 July 2025 Friendly | Ajax | 1–1 | | Hattem, Netherlands |
| 15:00 CEST (UTC+2) |
|
Report |
|
Stadium: Sportpark 't Achterveen |
| 16 July 2025 Friendly | Ajax | 2–1 | | Ouder-Amstel, Netherlands |
| 14:00 CEST (UTC+2) | Report |
|
Stadium: Sportpark De Toekomst Attendance: Behind closed doors |
| 19 July 2025 Friendly | Ajax | 3–2 | | Oldebroek, Netherlands |
| 14:30 CEST (UTC+2) | Report | Stadium: Sportpark Bovenmolen | ||
| Note: Two halves of 60 minutes | ||||
| 24 July 2025 Como Cup | Ajax | 5–1 | | Como, Italy |
| 20:30 CEST (UTC+2) | Report | Yang |
Stadium: Stadio Giuseppe Sinigaglia |
Mid-season
| 5 January 2026 Friendly | Ajax | 4−0 | | Amsterdam, Netherlands |
| 14:00 CET (UTC+1) | Report | Stadium: Johan Cruyff Arena Attendance: Behind closed doors |
On-season (spring)
| 25 March 2026 Friendly | Ajax | 2–2 | | Duivendrecht, Netherlands |
| 11:30 CET (UTC+1) | Report | Stadium: Sportpark De Toekomst Attendance: Behind closed doors |
| 16 April 2026 Friendly | Ajax | 0−1 | | Duivendrecht, Netherlands |
| 14:00 CEST (UTC+2) | Report |
|
Stadium: Sportpark De Toekomst Attendance: Behind closed doors |
Competitions
Overall record
| Competition | First match | Last match | Starting round | Final position | Record | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Pld | W | D | L | GF | GA | GD | Win % | |||||
| Eredivisie | 10 August 2025 | 17 May 2026 | Matchday 1 | 5th | 34 | 14 | 14 | 6 | 62 | 41 | +21 | 41.18 |
| Eredivisie European competition play-offs | 21 May 2026 | 24 May 2026 | Semi-finals | Winners | 2 | 1 | 1 | 0 | 3 | 1 | +2 | 50.00 |
| KNVB Cup | 17 December 2025 | 14 January 2026 | Second round | Round of 16 | 2 | 1 | 0 | 1 | 7 | 8 | −1 | 50.00 |
| UEFA Champions League | 17 September 2025 | 28 January 2026 | League phase | League phase | 8 | 2 | 0 | 6 | 8 | 21 | −13 | 25.00 |
| Total | 46 | 18 | 15 | 13 | 80 | 71 | +9 | 39.13 | ||||
Source: Soccerway
Eredivisie
League table
| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification or relegation |
|---|---|---|---|---|---|---|---|---|---|---|
| 3 | NEC | 34 | 16 | 11 | 7 | 77 | 53 | +24 | 59 | Qualification for the Champions League third qualifying round |
| 4 | Twente | 34 | 15 | 13 | 6 | 59 | 40 | +19 | 58 | Qualification for the Europa League second qualifying round |
| 5 | Ajax (O) | 34 | 14 | 14 | 6 | 62 | 41 | +21 | 56 | Qualification for the European competition play-offs |
| 6 | Utrecht | 34 | 15 | 8 | 11 | 55 | 42 | +13 | 53 | |
| 7 | AZ | 34 | 14 | 10 | 10 | 58 | 51 | +7 | 52 | Qualification for the Europa League league phase[a] |
Rules for classification: At end of season: 1) Points; 2) Goal difference; 3) Goals scored; 4) Head-to-head points; 5) Head-to-head goal difference; 6) Head-to-head goals scored; 7) Head-to-head away goals scored; 8) Play-off match or matches; 9) Penalty shoot-out (if the play-off match or matches end in a draw)[41]
(O) Play-off winners
Notes:
- Qualified for the Europa League league phase as the 2025–26 KNVB Cup winners.
Results summary
| Overall | Home | Away | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Pld | W | D | L | GF | GA | GD | Pts | W | D | L | GF | GA | GD | W | D | L | GF | GA | GD |
| 34 | 14 | 14 | 6 | 62 | 41 | +21 | 56 | 9 | 4 | 4 | 32 | 17 | +15 | 5 | 10 | 2 | 30 | 24 | +6 |
Source: Eredivisie
Results by round
Matches
The league fixtures were announced on 18 June 2025.
| 10 August 2025 1 | Ajax | 2–0 | Telstar | Amsterdam |
| 14:30 CEST (UTC+2) |
|
Report | Stadium: Johan Cruyff Arena Attendance: 54,665 Referee: Jannick van der Laan |
| 17 August 2025 2 | Go Ahead Eagles | 2–2 | Ajax | Deventer |
| 12:15 CEST (UTC+2) |
|
Report | Stadium: De Adelaarshorst Attendance: 9,997 Referee: Danny Makkelie |
| 24 August 2025 3 | Ajax | 2–0 | Heracles | Amsterdam |
| 16:45 CEST (UTC+2) | Report | Stadium: Johan Cruyff Arena Attendance: 54,683 Referee: Marc Nagtegaal |
| 30 August 2025 4 | Volendam | 1–1 | Ajax | Volendam |
| 16:30 CEST (UTC+2) | Report | Stadium: Kras Stadion Attendance: 6,864 Referee: Alex Bos |
| 13 September 2025 5 | Ajax | 3–1 | PEC Zwolle | Amsterdam |
| 16:30 CEST (UTC+2) | Report | Stadium: Johan Cruyff Arena Attendance: 54,081 Referee: Sander van der Eijk |
| 21 September 2025 6 | PSV | 2–2 | Ajax | Eindhoven |
| 14:30 CEST (UTC+2) |
|
Report | Stadium: Philips Stadion Attendance: 35,700 Referee: Serdar Gözübüyük |
| 27 September 2025 7 | Ajax | 2–1 | NAC Breda | Amsterdam |
| 16:30 CEST (UTC+2) | Report |
|
Stadium: Johan Cruyff Arena Attendance: 55,865 Referee: Marc Nagtegaal |
| 4 October 2025 8 | Sparta Rotterdam | 3–3 | Ajax | Rotterdam |
| 16:30 CEST (UTC+2) |
|
Report | Stadium: Sparta Stadion Het Kasteel Attendance: 10,599 Referee: Bas Nijhuis |
| 18 October 2025 9 | Ajax | 0–2 | AZ | Amsterdam |
| 21:00 CEST (UTC+2) | Report |
|
Stadium: Johan Cruyff Arena Attendance: 54,274 Referee: Jeroen Manschot |
| 26 October 2025 10 | Twente | 2–3 | Ajax | Enschede |
| 12:15 CET (UTC+1) |
|
Report | Stadium: De Grolsch Veste Attendance: 30,000 Referee: Serdar Gözübüyük |
| 1 November 2025 11 | Ajax | 1–1 | Heerenveen | Amsterdam |
| 16:30 CET (UTC+1) |
|
Report |
|
Stadium: Johan Cruyff Arena Attendance: 54,283 Referee: Jannick van der Laan |
| 9 November 2025 12 | Utrecht | 2–1 | Ajax | Utrecht |
| 12:15 CET (UTC+1) | Report |
|
Stadium: Stadion Galgenwaard Attendance: 22,944 Referee: Danny Makkelie |
| 22 November 2025 13 | Ajax | 1–2 | Excelsior | Amsterdam |
| 18:45 CET (UTC+1) | Report |
|
Stadium: Johan Cruyff Arena Attendance: 54,484 Referee: Joey Kooij |
| 2 December 2025 14 | Ajax | 2–0 | Groningen | Amsterdam |
| 14:30 CET (UTC+1) | Report | Stadium: Johan Cruyff Arena Attendance: 0 Referee: Bas Nijhuis | ||
| Note: The game was originally scheduled for 30 November, but it could not start because the Ajax ultras threw multiple fireworks on the pitch. The game was played on 2 December behind closed doors. | ||||
| 6 December 2025 15 | Fortuna Sittard | 1–3 | Ajax | Sittard |
| 18:45 CET (UTC+1) | Report | Stadium: Fortuna Sittard Stadion Attendance: 11,920 Referee: Sander van der Eijk |
| 14 December 2025 16 | Ajax | 2–0 | Feyenoord | Amsterdam |
| 14:30 CET (UTC+1) | Report |
|
Stadium: Johan Cruyff Arena Attendance: 47,506 Referee: Serdar Gözübüyük |
| 20 December 2025 17 | NEC | 2–2 | Ajax | Nijmegen |
| 20:00 CET (UTC+1) | Report | Stadium: Goffertstadion Attendance: 12,650 Referee: Allard Lindhout |
| 11 January 2026 18 | Telstar | 2−3 | Ajax | Velsen |
| 14:30 CET (UTC+1) | Report | Stadium: 711 Stadion Attendance: 5,290 Referee: Jeroen Manschot |
| 17 January 2026 19 | Ajax | 2–2 | Go Ahead Eagles | Amsterdam |
| 16:30 CET (UTC+1) | Report | Stadium: Johan Cruyff Arena Attendance: 53,979 Referee: Serdar Gözübüyük |
| 24 January 2026 20 | Ajax | 2–0 | Volendam | Amsterdam |
| 16:30 CET (UTC+1) | Report | Stadium: Johan Cruyff Arena Attendance: 54,715 Referee: Jannick van der Laan |
| 1 February 2026 21 | Excelsior | 2−2 | Ajax | Rotterdam |
| 12:15 CET (UTC+1) | Report |
|
Stadium: Van Donge & De Roo Stadion Attendance: 4,500 Referee: Marc Nagtegaal |
| 8 February 2026 22 | AZ | 1−1 | Ajax | Alkmaar |
| 14:30 CET (UTC+1) |
|
Report |
|
Stadium: AFAS Stadion Attendance: 18,736 Referee: Danny Makkelie |
| 14 February 2026 23 | Ajax | 4–1 | Fortuna Sittard | Amsterdam |
| 20:00 CET (UTC+1) | Report | Stadium: Johan Cruyff Arena Attendance: 54,160 Referee: Rob Dieperink |
| 21 February 2026 24 | Ajax | 1–1 | NEC | Amsterdam |
| 21:00 CET (UTC+1) | Report | Stadium: Johan Cruyff Arena Attendance: 53,583 Referee: Jeroen Manschot |
| 1 March 2026 25 | PEC Zwolle | 0−0 | Ajax | Zwolle |
| 12:15 CET (UTC+1) | Report | Stadium: MAC³PARK Stadion Attendance: 14,000 Referee: Sander van der Eijk |
| 7 March 2026 26 | Groningen | 3–1 | Ajax | Groningen |
| 16:30 CEST (UTC+1) |
|
Report | Stadium: Euroborg Attendance: 22,525 Referee: Serdar Gözübüyük |
| 14 March 2026 27 | Ajax | 4–0 | Sparta Rotterdam | Amsterdam |
| 21:00 CET (UTC+1) | Report |
|
Stadium: Johan Cruyff Arena Attendance: 48,506 Referee: Rob Dieperink |
| 22 March 2026 28 | Feyenoord | 1–1 | Ajax | Rotterdam |
| 14:30 CET (UTC+1) |
|
Report | Stadium: De Kuip Attendance: 47,500 Referee: Danny Makkelie |
| 4 April 2026 29 | Ajax | 1–2 | Twente | Amsterdam |
| 21:00 CEST (UTC+2) | Report | Stadium: Johan Cruyff Arena Attendance: 53,634 Referee: Sander van der Eijk |
| 11 April 2026 30 | Heracles | 0–3 | Ajax | Almelo |
| 21:00 CEST (UTC+2) |
|
Report | Stadium: Asito Stadion Attendance: 12,103 Referee: Martin van den Kerkhof |
| 25 April 2026 31 | NAC Breda | 0–2 | Ajax | Breda |
| 20:00 CEST (UTC+2) | Report | Stadium: Rat Verlegh Stadion Attendance: 20,191 Referee: Serdar Gözübüyük |
| 2 May 2026 32 | Ajax | 2–2 | PSV | Amsterdam |
| 20:00 CEST (UTC+2) | Report | Stadium: Johan Cruyff Arena Attendance: 54,439 Referee: Allard Lindhout |
| 10 May 2026 33 | Ajax | 1–2 | Utrecht | Amsterdam |
| 16:45 CEST (UTC+2) | Report |
|
Stadium: Johan Cruyff Arena Attendance: 53,632 Referee: Jeroen Manschot |
| 17 May 2026 34 | Heerenveen | 0–0 | Ajax | Heerenveen |
| 14:30 CEST (UTC+2) | Report | Stadium: Abe Lenstra Stadion Attendance: 25,450 Referee: Joey Kooij |
Eredivisie European competition play-offs
| 21 May 2026 Semi-finals | Ajax | 2–0 | Groningen | Volendam |
| 18:45 CEST (UTC+2) | Report |
|
Stadium: Kras Stadion Attendance: 6,776 Referee: Marc Nagtegaal |
KNVB Cup
| 17 December 2025 Second round | Excelsior | 2–7 | Ajax | Maassluis |
| 18:45 CET (UTC+1) |
|
Report | Stadium: Sportpark Dijkpolder Attendance: 4,700 Referee: Martijn Vos |
| 14 January 2026 Round of 16 | AZ | 6–0 | Ajax | Alkmaar |
| 21:00 CET (UTC+1) |
|
Report | Stadium: AFAS Stadion Attendance: 15,588 Referee: Bas Nijhuis |
UEFA Champions League
League phase
The draw for the league phase was held on 28 August 2025.
| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts |
|---|---|---|---|---|---|---|---|---|---|
| 30 | 8 | 2 | 2 | 4 | 9 | 15 | −6 | 8 | |
| 31 | 8 | 2 | 2 | 4 | 12 | 21 | −9 | 8 | |
| 32 | 8 | 2 | 0 | 6 | 8 | 21 | −13 | 6 | |
| 33 | 8 | 1 | 1 | 6 | 10 | 21 | −11 | 4 | |
| 34 | 8 | 0 | 3 | 5 | 5 | 19 | −14 | 3 |
A = Away; H = Home; W = Win; D = Draw; L = Loss
| 17 September 2025 1 | Ajax | 0–2 | | Amsterdam, Netherlands |
| 21:00 CEST (UTC+2) |
|
Report |
|
Stadium: Johan Cruyff Arena Attendance: 52,288 Referee: Michael Oliver (England) |
| 30 September 2025 2 | Marseille | 4–0 | | Marseille, France |
| 21:00 CEST (UTC+2) |
|
Report |
|
Stadium: Stade Vélodrome Attendance: 65,771 Referee: Anthony Taylor (England) |
| 22 October 2025 3 | Chelsea | 5–1 | | London, England |
| 21:00 CEST (UTC+2) | Report | Stadium: Stamford Bridge Attendance: 38,947 Referee: Felix Zwayer (Germany) |
| 5 November 2025 4 | Ajax | 0–3 | | Amsterdam, Netherlands |
| 21:00 CET (UTC+1) | Report | Stadium: Johan Cruyff Arena Attendance: 50,993 Referee: Benoît Bastien (France) |
| 25 November 2025 5 | Ajax | 0–2 | | Amsterdam, Netherlands |
| 18:45 CET (UTC+1) |
|
Report | Stadium: Johan Cruyff Arena Attendance: 51,154 Referee: Sven Jablonski (Germany) |
| 10 December 2025 6 | Qarabağ | 2–4 | | Baku, Azerbaijan |
| 18:45 CET (UTC+1) | Report | Stadium: Tofiq Bahramov Republican Stadium Attendance: 31,090 Referee: Rade Obrenović (Slovenia) |
| 20 January 2026 7 | Villarreal | 1–2 | | Villarreal, Spain |
| 21:00 CET (UTC+1) | Report | Stadium: Estadio de la Cerámica Attendance: 14,023 Referee: Nick Walsh (Scotland) |
| 28 January 2026 8 | Ajax | 1–2 | | Amsterdam, Netherlands |
| 21:00 CET (UTC+1) | Report | Stadium: Johan Cruyff Arena Attendance: 51,719 Referee: François Letexier (France) |
Statistics
Appearances and goals
| No. | Pos | Nat | Player | Total | Eredivisie | Eredivisie European competition play-offs | KNVB Cup | Champions League | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Apps | Goals | Apps | Goals | Apps | Goals | Apps | Goals | Apps | Goals | ||||
| 1 | GK | Vítězslav Jaroš | 26 | 0 | 19 | 0 | 0 | 0 | 1 | 0 | 6 | 0 | |
| 2 | DF | Lucas Rosa | 33 | 0 | 24+3 | 0 | 2 | 0 | 1 | 0 | 3 | 0 | |
| 3 | DF | Anton Gaaei | 37 | 3 | 19+7 | 1 | 2 | 0 | 1+1 | 1 | 5+2 | 1 | |
| 4 | DF | Ko Itakura | 26 | 1 | 16+2 | 1 | 0+1 | 0 | 1 | 0 | 5+1 | 0 | |
| 5 | DF | Owen Wijndal | 27 | 2 | 15+4 | 1 | 0 | 0 | 2 | 1 | 6 | 0 | |
| 6 | MF | Youri Regeer | 37 | 0 | 21+4 | 0 | 1+1 | 0 | 2 | 0 | 6+2 | 0 | |
| 7 | FW | Maher Carrizo | 6 | 0 | 0+4 | 0 | 0+2 | 0 | 0 | 0 | 0 | 0 | |
| 9 | FW | Kasper Dolberg | 30 | 5 | 12+10 | 3 | 1+1 | 0 | 1 | 0 | 3+2 | 2 | |
| 10 | MF | Oscar Gloukh | 38 | 9 | 16+13 | 6 | 0 | 0 | 1 | 0 | 6+2 | 3 | |
| 11 | FW | Mika Godts | 44 | 17 | 30+2 | 17 | 2 | 0 | 2 | 0 | 7+1 | 0 | |
| 12 | GK | Joeri Heerkens | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 15 | DF | Youri Baas | 42 | 4 | 31 | 4 | 2 | 0 | 1 | 0 | 8 | 0 | |
| 16 | MF | Jinairo Johnson | 1 | 0 | 0+1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 17 | MF | Oliver Edvardsen | 22 | 1 | 6+12 | 0 | 0 | 0 | 0 | 0 | 1+3 | 1 | |
| 18 | MF | Davy Klaassen | 42 | 8 | 22+8 | 6 | 2 | 2 | 2 | 0 | 6+2 | 0 | |
| 19 | FW | Don-Angelo Konadu | 11 | 1 | 2+7 | 0 | 0 | 0 | 1 | 1 | 0+1 | 0 | |
| 23 | FW | Steven Berghuis | 22 | 4 | 14+5 | 4 | 2 | 0 | 0 | 0 | 1 | 0 | |
| 24 | FW | Jorthy Mokio | 37 | 5 | 13+13 | 2 | 2 | 1 | 1+1 | 2 | 3+4 | 0 | |
| 25 | FW | Wout Weghorst | 34 | 9 | 20+7 | 8 | 1+1 | 0 | 0 | 0 | 4+1 | 1 | |
| 26 | GK | Maarten Paes | 13 | 0 | 11 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | |
| 27 | FW | Maximilian Ibrahimović | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 28 | MF | Kian Fitz-Jim | 22 | 1 | 4+13 | 1 | 0 | 0 | 0 | 0 | 0+5 | 0 | |
| 30 | DF | Aaron Bouwman | 14 | 1 | 6+2 | 1 | 2 | 0 | 1+1 | 0 | 2 | 0 | |
| 32 | DF | Takehiro Tomiyasu | 8 | 0 | 2+4 | 0 | 0+2 | 0 | 0 | 0 | 0 | 0 | |
| 37 | DF | Josip Šutalo | 31 | 0 | 19+5 | 0 | 0 | 0 | 1 | 0 | 4+2 | 0 | |
| 41 | DF | Gerald Alders | 5 | 0 | 2+1 | 0 | 0 | 0 | 0+1 | 0 | 0+1 | 0 | |
| 43 | MF | Rayane Bounida | 28 | 2 | 9+13 | 1 | 0 | 0 | 1+1 | 1 | 1+3 | 0 | |
| 47 | DF | Oleksandr Zinchenko | 2 | 0 | 1+1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 48 | MF | Sean Steur | 25 | 1 | 14+5 | 1 | 1+1 | 0 | 1 | 0 | 2+1 | 0 | |
| 66 | FW | Pharell Nash | 3 | 0 | 0+1 | 0 | 0 | 0 | 0+1 | 0 | 0+1 | 0 | |
| 68 | FW | Abdellah Ouazane | 1 | 0 | 0 | 0 | 0 | 0 | 0+1 | 0 | 0 | 0 | |
| Players sold or loaned out after the start of the season: | |||||||||||||
| 7 | FW | Raúl Moro | 21 | 1 | 7+7 | 0 | 0 | 0 | 0+2 | 1 | 2+3 | 0 | |
| 8 | MF | Kenneth Taylor | 19 | 2 | 14+1 | 2 | 0 | 0 | 0 | 0 | 4 | 0 | |
| 16 | MF | James McConnell | 7 | 0 | 1+3 | 0 | 0 | 0 | 0 | 0 | 1+2 | 0 | |
| 20 | FW | Bertrand Traoré | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 21 | MF | Branco van den Boomen | 1 | 0 | 0 | 0 | 0 | 0 | 0+1 | 0 | 0 | 0 | |
| 22 | GK | Remko Pasveer | 7 | 0 | 4 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | |
Source: Competitive matches
Goalscorers
| Rank | No | Pos | Nat | Name | Eredivisie | Eredivisie European competition play-offs | KNVB Cup | Champions League | Total |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 11 | FW | Mika Godts | 17 | 0 | 0 | 0 | 17 | |
| 2 | 10 | MF | Oscar Gloukh | 6 | 0 | 0 | 3 | 9 | |
| 25 | FW | Wout Weghorst | 8 | 0 | 0 | 1 | 9 | ||
| 4 | 18 | MF | Davy Klaassen | 6 | 2 | 0 | 0 | 8 | |
| 5 | 9 | FW | Kasper Dolberg | 3 | 0 | 0 | 2 | 5 | |
| 24 | DF | Jorthy Mokio | 2 | 1 | 2 | 0 | 5 | ||
| 7 | 15 | DF | Youri Baas | 4 | 0 | 0 | 0 | 4 | |
| 23 | FW | Steven Berghuis | 4 | 0 | 0 | 0 | 4 | ||
| 9 | 3 | DF | Anton Gaaei | 1 | 0 | 1 | 1 | 3 | |
| 10 | 5 | DF | Owen Wijndal | 1 | 0 | 1 | 0 | 2 | |
| 8 | MF | Kenneth Taylor | 2 | 0 | 0 | 0 | 2 | ||
| 43 | MF | Rayane Bounida | 1 | 0 | 1 | 0 | 2 | ||
| 13 | 4 | DF | Ko Itakura | 1 | 0 | 0 | 0 | 1 | |
| 7 | FW | Raúl Moro | 0 | 0 | 1 | 0 | 1 | ||
| 17 | MF | Oliver Edvardsen | 0 | 0 | 0 | 1 | 1 | ||
| 19 | FW | Don-Angelo Konadu | 0 | 0 | 1 | 0 | 1 | ||
| 28 | MF | Kian Fitz-Jim | 1 | 0 | 0 | 0 | 1 | ||
| 30 | DF | Aaron Bouwman | 1 | 0 | 0 | 0 | 1 | ||
| 48 | MF | Sean Steur | 1 | 0 | 0 | 0 | 1 | ||
| Own goal | 3 | 0 | 0 | 0 | 3 | ||||
| Totals | 62 | 3 | 7 | 8 | 79 | ||||
Source: Competitive matches
Assists
| Rank | No | Pos | Nat | Name | Eredivisie | Eredivisie European competition play-offs | KNVB Cup | Champions League | Total |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 11 | FW | Mika Godts | 13 | 1 | 1 | 1 | 15 | |
| 2 | 43 | MF | Rayane Bounida | 4 | 0 | 4 | 0 | 8 | |
| 3 | 3 | DF | Anton Gaaei | 5 | 0 | 0 | 1 | 6 | |
| 10 | MF | Oscar Gloukh | 6 | 0 | 0 | 0 | 6 | ||
| 5 | 8 | MF | Kenneth Taylor | 5 | 0 | 0 | 0 | 5 | |
| 25 | FW | Wout Weghorst | 5 | 0 | 0 | 0 | 5 | ||
| 7 | 24 | DF | Jorthy Mokio | 2 | 0 | 1 | 0 | 3 | |
| 8 | 6 | MF | Youri Regeer | 2 | 0 | 0 | 0 | 2 | |
| 7 | FW | Raúl Moro | 1 | 0 | 1 | 0 | 2 | ||
| 9 | FW | Kasper Dolberg | 2 | 0 | 0 | 0 | 2 | ||
| 18 | MF | Davy Klaassen | 2 | 0 | 0 | 0 | 2 | ||
| 23 | MF | Steven Berghuis | 2 | 0 | 0 | 0 | 2 | ||
| 48 | MF | Sean Steur | 1 | 0 | 0 | 1 | 2 | ||
| 14 | 2 | DF | Lucas Rosa | 0 | 0 | 0 | 1 | 1 | |
| 15 | DF | Youri Baas | 1 | 0 | 0 | 0 | 1 | ||
| 17 | MF | Oliver Edvardsen | 1 | 0 | 0 | 0 | 1 | ||
| 19 | FW | Don-Angelo Konadu | 0 | 0 | 0 | 1 | 1 | ||
| 43 | MF | Rayane Bounida | 1 | 0 | 0 | 0 | 1 | ||
| Totals | 50 | 1 | 7 | 4 | 62 | ||||
Source: Competitive matches
Clean sheets
| Rank | No | Pos | Nat | Name | Eredivisie | Eredivisie European competition play-offs | KNVB Cup | Champions League | Total |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 26 | GK | Maarten Paes | 5 | 1 | 0 | 0 | 6 | |
| 2 | 1 | GK | Vítězslav Jaroš | 5 | 0 | 0 | 0 | 5 | |
| Total | 10 | 1 | 0 | 0 | 11 | ||||
Source: Competitive matches
Disciplinary record
| N | P | Nat. | Name | Eredivisie | Eredivisie European competition play-offs | KNVB Cup | Total | Notes | ||||||||
| 1 | GK | Vítězslav Jaroš | 1 | 1 | ||||||||||||
| 2 | DF | Lucas Rosa | 4 | 4 | ||||||||||||
| 3 | DF | Anton Gaaei | 3 | 1 | 4 | |||||||||||
| 4 | DF | Ko Itakura | 2 | 2 | ||||||||||||
| 5 | DF | Owen Wijndal | 3 | 1 | 3 | 1 | ||||||||||
| 6 | MF | Youri Regeer | 6 | 6 | ||||||||||||
| 7 | FW | Raúl Moro | 1 | 1 | ||||||||||||
| 8 | MF | Kenneth Taylor | 3 | 3 | ||||||||||||
| 9 | FW | Kasper Dolberg | 1 | 1 | ||||||||||||
| 10 | MF | Oscar Gloukh | 3 | 3 | ||||||||||||
| 11 | FW | Mika Godts | 2 | 1 | 1 | 4 | ||||||||||
| 15 | DF | Youri Baas | 2 | 1 | 2 | 1 | ||||||||||
| 16 | DF | James McConnell | 1 | 1 | ||||||||||||
| 17 | FW | Oliver Edvardsen | 3 | 3 | ||||||||||||
| 18 | MF | Davy Klaassen | 1 | 1 | 2 | |||||||||||
| 23 | MF | Steven Berghuis | 3 | 3 | ||||||||||||
| 24 | FW | Jorthy Mokio | 1 | 1 | ||||||||||||
| 25 | FW | Wout Weghorst | 6 | 1 | 7 | |||||||||||
| 28 | MF | Kian Fitz-Jim | 2 | 2 | ||||||||||||
| 30 | DF | Aaron Bouwman | 2 | 2 | ||||||||||||
| 32 | DF | Takehiro Tomiyasu | 1 | 1 | ||||||||||||
| 37 | DF | Josip Šutalo | 1 | 1 | ||||||||||||
| 43 | FW | Rayane Bounida | 4 | 4 | ||||||||||||
| 48 | FW | Sean Steur | 2 | 2 | ||||||||||||
Source: Competitive matches
Only competitive matches
= Number of bookings;
= Number of sending offs after a second yellow card;
= Number of sending offs by a direct red card.