Attacking · Real Betis · season-by-season, by competition, and every match.
A career still climbing — Ezzalzouli is at his peak right now, and the curve hasn't flattened.
The record covers 5 seasons (2021/22–2025/26) across 3 clubs — 105 appearances, 17 goals and 14 assists.
His best campaign on record is 2025/26 at Real Betis — Season rating 52, 10 goals and 8 assists in 29 games. 2025/26 was the leap — Season rating up 35 points at Real Betis. Form is on a climb — up 26 Season points across his last 3 full seasons.
2025/26 was disrupted — 9 fixtures missed through injury or absence. A streaky profile — form has swung hard between campaigns (spread of ±17 points), so the peak and the trough are far apart.
| Season | Club | Apps | G | A | Rating | Season |
|---|---|---|---|---|---|---|
| 2025/26 | Real Betis | 29 | 10 | 8 | 87 | 52 |
| 2024/25 | Real Betis | 33 | 2 | 2 | 81 | 17 |
| 2023/24 | Real Betis | 5 | 0 | 0 | 69 | 0 |
| 2022/23 | Osasuna | 28 | 4 | 4 | 85 | 26 |
| 2021/22 | Barcelona | 10 | 1 | 0 | 78 | 5 |
| Competition | Apps | Min | G | A | Rating |
|---|---|---|---|---|---|
| La Liga | 29 | 2255 | 10 | 8 | 7.3 |
| UEFA Europa League | 12 | 805 | 4 | 1 | 7.3 |
| Africa Cup of Nations | 7 | 518 | 0 | 1 | 7.2 |
| Africa Cup of Nations Qualification | 6 | 428 | 2 | 3 | 7.9 |
| Friendlies | 2 | 132 | 0 | 0 | 7.0 |
| Copa del Rey | 2 | 90 | 0 | 0 | 6.5 |
| Date | Competition | Opponent | Res | Status | Min | G | A | Rating |
|---|---|---|---|---|---|---|---|---|
| Jul 25 | Friendlies Clubs | A Cordoba | 4-3 | Not in squad | — | |||
| Aug 2 | Friendlies Clubs | A Sunderland | 1-0 | Not in squad | — | |||
| Aug 6 | Friendlies Clubs | H Como | 2-3 | Not in squad | — | |||
| Aug 9 | Friendlies Clubs | A Malaga | 1-3 | Not in squad | — | |||
| Aug 18 | La Liga | A Elche | 1-1 | Sprained ankle | — | |||
| Aug 22 | La Liga | H Alaves | 1-0 | Sprained ankle | — | |||
| Aug 27 | La Liga | A Celta Vigo | 1-1 | Sprained ankle | — | |||
| Aug 31 | La Liga | H Athletic Club | 1-2 | Sprained ankle | — | |||
| Sep 14 | La Liga | A Levante | 2-2 | Played | 18 | 1 | 7.3 | |
| Sep 19 | La Liga | H Real Sociedad | 3-1 | Played | 90 | 8.2 | ||
| Sep 24 | UEFA Europa League | H Nottingham Forest | 2-2 | Played | 45 | 6.3 | ||
| Sep 28 | La Liga | H Osasuna | 2-0 | Played | 56 | 1 | 7.6 | |
| Oct 2 | UEFA Europa League | A Ludogorets | 2-0 | Played | 23 | 6.9 | ||
| Oct 5 | La Liga | A Espanyol | 2-1 | Played | 90 | 1 | 8.2 | |
| Oct 18 | La Liga | A Villarreal | 2-2 | Played | 69 | 6.9 | ||
| Oct 23 | UEFA Europa League | A Genk | 0-0 | Played | 27 | 6.5 | ||
| Oct 27 | La Liga | H Atletico Madrid | 0-2 | Played | 90 | 6.5 | ||
| Oct 30 | Copa del Rey | A Palma del Rio | 7-1 | Not in squad | — | |||
| Nov 2 | La Liga | H Mallorca | 3-0 | Played | 69 | 1 | 7.9 | |
| Nov 6 | UEFA Europa League | H Lyon | 2-0 | Played | 87 | 1 | 7.9 | |
| Nov 9 | La Liga | A Valencia | 1-1 | Played | 76 | 1 | 6.7 | |
| Nov 23 | La Liga | H Girona | 1-1 | Played | 45 | 6.3 | ||
| Nov 27 | UEFA Europa League | H Utrecht | 2-1 | Played | 82 | 1 | 8.2 | |
| Nov 30 | La Liga | A Sevilla | 2-0 | Played | 90 | 7.2 | ||
| Dec 3 | Copa del Rey | A Torrent | 4-1 | Not in squad | — | |||
| Dec 6 | La Liga | H Barcelona | 3-5 | Played | 90 | 1 | 7.0 | |
| Dec 11 | UEFA Europa League | A Dinamo Zagreb | 3-1 | Played | 90 | 7.2 | ||
| Dec 15 | La Liga | A Rayo Vallecano | 0-0 | International duty | — | |||
| Dec 18 | Copa del Rey | A Real Murcia | 2-0 | Not in squad | — | |||
| Dec 21 | La Liga | H Getafe | 4-0 | International duty | — | |||
| Jan 4 | La Liga | A Real Madrid | 1-5 | International duty | — | |||
| Jan 10 | La Liga | A Oviedo | 1-1 | Not in squad | — | |||
| Jan 14 | Copa del Rey | H Elche | 2-1 | Not in squad | — | |||
| Jan 17 | La Liga | H Villarreal | 2-0 | International duty | — | |||
| Jan 22 | UEFA Europa League | A PAOK | 0-2 | Played | 36 | 6.5 | ||
| Jan 25 | La Liga | A Alaves | 1-2 | Played | 90 | 1 | 6.9 | |
| Jan 29 | UEFA Europa League | H Feyenoord | 2-1 | Played | 90 | 1 | 7.7 | |
| Feb 1 | La Liga | H Valencia | 2-1 | Played | 90 | 6.9 | ||
| Feb 5 | Copa del Rey | H Atletico Madrid | 0-5 | Played | 90 | 6.5 | ||
| Feb 8 | La Liga | A Atletico Madrid | 1-0 | Played | 90 | 1 | 7.0 | |
| Feb 15 | La Liga | A Mallorca | 2-1 | Played | 90 | 1 | 7.9 | |
| Feb 21 | La Liga | H Rayo Vallecano | 1-1 | Played | 90 | 6.9 | ||
| Mar 1 | La Liga | H Sevilla | 2-2 | Played | 90 | 1 | 7.9 | |
| Mar 8 | La Liga | A Getafe | 0-2 | Played | 61 | 6.3 | ||
| Mar 12 | UEFA Europa League | A Panathinaikos | 0-1 | Played | 68 | 7.3 | ||
| Mar 15 | La Liga | H Celta Vigo | 1-1 | Played | 67 | 6.6 | ||
| Mar 19 | UEFA Europa League | H Panathinaikos | 4-0 | Played | 89 | 1 | 7.6 | |
| Mar 22 | La Liga | A Athletic Club | 1-2 | Played | 90 | 6.9 | ||
| Apr 4 | La Liga | H Espanyol | 0-0 | Played | 24 | 6.6 | ||
| Apr 8 | UEFA Europa League | A SC Braga | 1-1 | Played | 78 | 6.6 | ||
| Apr 12 | La Liga | A Osasuna | 1-1 | Played | 90 | 1 | 8.3 | |
| Apr 16 | UEFA Europa League | H SC Braga | 2-4 | Played | 90 | 1 | 8.5 | |
| Apr 21 | La Liga | A Girona | 3-2 | Played | 88 | 1 | 2 | 8.2 |
| Apr 24 | La Liga | H Real Madrid | 1-1 | Played | 90 | 8.2 | ||
| May 3 | La Liga | H Oviedo | 3-0 | Played | 90 | 1 | 1 | 8.7 |
| May 9 | La Liga | A Real Sociedad | 2-2 | Played | 90 | 1 | 7.7 | |
| May 12 | La Liga | H Elche | 2-1 | Played | 83 | 7.2 | ||
| May 17 | La Liga | A Barcelona | 1-3 | Played | 79 | 6.5 | ||
| May 23 | La Liga | H Levante | 2-1 | Played | 80 | 1 | 7.7 |