João Moutinho · career
João Filipe Iria Santos Moutinho
Defensive · SC Braga · season-by-season, by competition, and every match.
Career report
Below his 2021/22 peak but holding a solid level — the platform for a return is there.
Peak: 2021/22Holding levelRemarkably consistent
The record covers 6 seasons (2020/21–2025/26) across 2 clubs, including a move abroad — 186 appearances, 6 goals and 8 assists.
His best campaign on record is 2021/22 at Wolves — Season rating 44, 2 goals and 1 assist in 35 games. Output has held steady across his last 3 full seasons (33 → 30). The gap to his peak is 14 Season points.
Season-to-season output barely moves — his form has stayed within a tight band (±6 points) across 6 campaigns.
By season
| Season | Club | Apps | G | A | Rating | Season |
|---|---|---|---|---|---|---|
| 2025/26 | SC Braga | 31 | 1 | 1 | 16 | 30 |
| 2024/25 | SC Braga | 25 | 1 | 2 | 13 | 29 |
| 2023/24 | SC Braga | 31 | 1 | 1 | 20 | 33 |
| 2022/23 | Wolves | 31 | 0 | 2 | 23 | 26 |
| 2021/22 | Wolves | 35 | 2 | 1 | 32 | 44 |
| 2020/21 | Wolves | 33 | 1 | 1 | 32 | 39 |
| 2019/20 | Wolves | 38 | 1 | 6 | — | — |
| 2018/19 | Wolves | 38 | 1 | 8 | — | — |
| 2017/18 | Monaco | 33 | 1 | 6 | — | — |
| 2016/17 | Monaco | 31 | 2 | 4 | — | — |
| 2015/16 | Monaco | 26 | 1 | 2 | — | — |
| 2014/15 | Monaco | 37 | 4 | 0 | — | — |
| 2013/14 | Monaco | 31 | 1 | 0 | — | — |
| 2012/13 | FC Porto | 27 | 1 | 0 | — | — |
| 2011/12 | FC Porto | 29 | 3 | 0 | — | — |
| 2010/11 | FC Porto | 27 | 0 | 0 | — | — |
| 2009/10 | Sporting CP | 28 | 5 | 0 | — | — |
| 2008/09 | Sporting CP | 27 | 3 | 0 | — | — |
| 2007/08 | Sporting CP | 6 | 1 | 0 | — | — |
| 2006/07 | Sporting CP | 6 | 0 | 0 | — | — |
| 2005/06 | Sporting CP | 2 | 0 | 0 | — | — |
International
| Side | Season | Competition | Apps | G |
|---|---|---|---|---|
| Portugal | 2022/23 | UEFA Nations League | 2 | 0 |
| 2021/22 | Friendlies | 3 | 0 | |
| 2020/21 | World Cup - Qualification Europe | 8 | 0 | |
| 2020/21 | UEFA Nations League | 6 | 0 | |
| 2020/21 | Friendlies | 2 | 0 | |
| 2020/21 | Euro Championship | 4 | 0 | |
| 2018/19 | UEFA Nations League | 2 | 0 | |
| 2018/19 | World Cup - Qualification Europe | 8 | 1 | |
| 2018/19 | World Cup | 3 | 0 | |
| 2018/19 | Friendlies | 5 | 0 | |
| 2017/18 | Confederations Cup | 4 | 0 | |
| 2017/18 | Friendlies | 2 | 2 | |
| 2016/17 | UEFA European Championship Qualifiers | 7 | 2 | |
| 2016/17 | Euro Championship | 6 | 0 | |
| 2016/17 | Friendlies | 4 | 0 | |
| 2015/16 | Friendlies | 1 | 0 | |
| 2014/15 | UEFA World Cup Qualifiers | 12 | 0 | |
| 2014/15 | World Cup | 3 | 0 | |
| 2014/15 | Friendlies | 5 | 0 | |
| 2013/14 | Friendlies | 3 | 0 | |
| 2012/13 | UEFA European Championship Qualifiers | 9 | 1 | |
| 2012/13 | Euro Championship | 5 | 0 | |
| 2012/13 | Friendlies | 5 | 0 | |
| 2011/12 | Friendlies | 4 | 0 | |
| 2010/11 | UEFA World Cup Qualifiers | 5 | 0 | |
| 2010/11 | Friendlies | 2 | 0 | |
| 2009/10 | Friendlies | 2 | 0 | |
| 2008/09 | Euro Championship | 4 | 0 | |
| 2008/09 | UEFA European Championship Qualifiers | 6 | 0 | |
| 2008/09 | Friendlies | 3 | 1 | |
| 2007/08 | Friendlies | 1 | 0 | |
| 2006/07 | UEFA World Cup Qualifiers | 2 | 0 | |
| 2006/07 | Friendlies | 1 | 0 | |
| 2005/06 | Friendlies | 1 | 0 |
Honours
Super Cup×6Primeira Liga×4Taça de Portugal×4Ligue 1×2Premier League Asia Trophy×2Taça da Liga×2UEFA Europa League×2UEFA European Championship×2UEFA Nations League×2Primeira Liga×5Taça da Liga×4Ligue 1×3Trophée des Champions×2UEFA Europa League×2UEFA Super Cup×2
By competition
| Competition | Apps | Min | G | A | Rating |
|---|---|---|---|---|---|
| Primeira Liga | 31 | 2194 | 1 | 1 | 6.9 |
| UEFA Europa League | 17 | 694 | 0 | 0 | 6.8 |
Schedule · 2025/26
45 played1 unused sub18 not in squad· 2888 min, 1g 1a
| Date | Competition | Opponent | Res | Status | Min | G | A | Rating |
|---|---|---|---|---|---|---|---|---|
| Jul 9 | Friendlies Clubs | A Wolfsberger AC | 2-0 | Not in squad | — | |||
| Jul 16 | Friendlies Clubs | H Moreirense | 2-0 | Not in squad | — | |||
| Jul 19 | Friendlies Clubs | H Celta Vigo | 3-1 | Not in squad | — | |||
| Jul 24 | UEFA Europa League | A Levski Sofia | 0-0 | Not in squad | — | |||
| Jul 31 | UEFA Europa League | H Levski Sofia | 1-0 | Not in squad | — | |||
| Aug 7 | UEFA Europa League | A CFR 1907 Cluj | 2-1 | Not in squad | — | |||
| Aug 10 | Primeira Liga | H Tondela | 3-0 | Not in squad | — | |||
| Aug 14 | UEFA Europa League | H CFR 1907 Cluj | 2-0 | Not in squad | — | |||
| Aug 17 | Primeira Liga | A Alverca | 3-0 | Unused sub | 0 | — | ||
| Aug 21 | UEFA Europa League | A Lincoln Red Imps FC | 4-0 | Not in squad | — | |||
| Aug 24 | Primeira Liga | H AVS | 2-2 | Played | 90 | 7.5 | ||
| Aug 28 | UEFA Europa League | H Lincoln Red Imps FC | 5-1 | Not in squad | — | |||
| Aug 31 | Primeira Liga | A Rio Ave | 2-2 | Played | 90 | 7.3 | ||
| Sep 14 | Primeira Liga | H GIL Vicente | 0-1 | Played | 90 | 7.3 | ||
| Sep 20 | Primeira Liga | A Guimaraes | 1-1 | Played | 90 | 6.9 | ||
| Sep 24 | UEFA Europa League | H Feyenoord | 1-0 | Played | 62 | 6.7 | ||
| Sep 28 | Primeira Liga | H Nacional | 0-1 | Played | 45 | 6.2 | ||
| Oct 2 | UEFA Europa League | A Celtic | 2-0 | Played | 25 | 6.9 | ||
| Oct 5 | Primeira Liga | A Sporting CP | 1-1 | Played | 54 | 6.9 | ||
| Oct 18 | Taça de Portugal | A Bragança | 1-0 | Not in squad | — | |||
| Oct 23 | UEFA Europa League | H FK Crvena Zvezda | 2-0 | Played | 78 | 6.9 | ||
| Oct 26 | Primeira Liga | H Casa Pia | 4-0 | Played | 32 | 6.3 | ||
| Oct 29 | Taça da Liga | H Santa Clara | 5-0 | Not in squad | — | |||
| Nov 2 | Primeira Liga | A FC Porto | 1-2 | Played | 28 | 6.7 | ||
| Nov 6 | UEFA Europa League | H Genk | 3-4 | Played | 56 | 6.9 | ||
| Nov 9 | Primeira Liga | H Moreirense | 2-1 | Played | 67 | 7.7 | ||
| Nov 23 | Taça de Portugal | H Nacional | 4-2 | Not in squad | — | |||
| Nov 27 | UEFA Europa League | A Rangers | 1-1 | Played | 66 | 6.7 | ||
| Dec 1 | Primeira Liga | A Arouca | 4-0 | Played | 30 | 7.3 | ||
| Dec 6 | Primeira Liga | A Famalicao | 2-1 | Played | 54 | 6.3 | ||
| Dec 11 | UEFA Europa League | A Nice | 1-0 | Played | 29 | 6.7 | ||
| Dec 15 | Primeira Liga | H Santa Clara | 1-0 | Played | 59 | 7.2 | ||
| Dec 19 | Primeira Liga | A Estoril | 0-1 | Played | 83 | 7.0 | ||
| Dec 23 | Taça de Portugal | A Caldas | 3-0 | Not in squad | — | |||
| Dec 28 | Primeira Liga | H Benfica | 2-2 | Played | 77 | 6.6 | ||
| Jan 3 | Primeira Liga | A Estrela | 3-3 | Played | 68 | 1 | 7.2 | |
| Jan 7 | Taça da Liga | A Benfica | 3-1 | Not in squad | — | |||
| Jan 10 | Taça da Liga | A Guimaraes | 1-2 | Not in squad | — | |||
| Jan 14 | Taça de Portugal | A Fafe | 1-2 | Not in squad | — | |||
| Jan 18 | Primeira Liga | A Tondela | 1-0 | Played | 90 | 7.3 | ||
| Jan 22 | UEFA Europa League | H Nottingham Forest | 1-0 | Played | 28 | 6.6 | ||
| Jan 25 | Primeira Liga | H Alverca | 5-0 | Played | 80 | 7.9 | ||
| Jan 29 | UEFA Europa League | A GO Ahead Eagles | 0-0 | Played | 1 | — | ||
| Feb 2 | Primeira Liga | A AVS | 4-0 | Played | 90 | 8.0 | ||
| Feb 8 | Primeira Liga | H Rio Ave | 3-0 | Played | 90 | 1 | 7.3 | |
| Feb 14 | Primeira Liga | A GIL Vicente | 1-2 | Played | 80 | 6.3 | ||
| Feb 21 | Primeira Liga | H Guimaraes | 3-2 | Played | 69 | 6.3 | ||
| Feb 28 | Primeira Liga | A Nacional | 2-1 | Played | 23 | 6.9 | ||
| Mar 7 | Primeira Liga | H Sporting CP | 2-2 | Played | 69 | 7.0 | ||
| Mar 12 | UEFA Europa League | A Ferencvarosi TC | 0-2 | Played | 74 | 6.9 | ||
| Mar 18 | UEFA Europa League | H Ferencvarosi TC | 4-0 | Played | 14 | 6.9 | ||
| Mar 22 | Primeira Liga | H FC Porto | 1-2 | Played | 86 | 6.6 | ||
| Apr 4 | Primeira Liga | A Moreirense | 1-0 | Played | 90 | 7.5 | ||
| Apr 8 | UEFA Europa League | H Real Betis | 1-1 | Played | 72 | 6.6 | ||
| Apr 12 | Primeira Liga | H Arouca | 1-0 | Played | 76 | 7.0 | ||
| Apr 16 | UEFA Europa League | A Real Betis | 4-2 | Played | 9 | 6.6 | ||
| Apr 19 | Primeira Liga | H Famalicao | 2-2 | Played | 73 | 6.7 | ||
| Apr 23 | Primeira Liga | A Casa Pia | 1-0 | Played | 71 | 7.2 | ||
| Apr 26 | Primeira Liga | A Santa Clara | 1-2 | Not in squad | — | |||
| Apr 30 | UEFA Europa League | H SC Freiburg | 2-1 | Played | 90 | 7.2 | ||
| May 3 | Primeira Liga | H Estoril | 1-1 | Played | 70 | 6.3 | ||
| May 7 | UEFA Europa League | A SC Freiburg | 1-3 | Played | 90 | 7.2 | ||
| May 11 | Primeira Liga | A Benfica | 2-2 | Played | 90 | 5.2 | ||
| May 16 | Primeira Liga | H Estrela | 2-2 | Played | 90 | 7.3 |