Career snapshot
Career highs
Born the same day
Shares 2001-02-21 · 6 players total
| Full name | Borja Sainz |
|---|---|
| Name in home country | Borja Sainz Eguskiza |
| Date of birth | 2001-02-21 (25 yrs) |
| Place of birth | Leioa, Spain |
| Citizenship | Spain |
| Position | Attack - Left Winger (main: Attack) |
| Foot | right |
| Height | 174.00 m |
| Current club | FC Porto |
| Joined | 2025-07-13 |
| Contract expires | 2030-06-30 |
| Agent | Wasserman |
Percentile rank vs 30 other Attack - Left Wingers with ≥500 minutes in 25/26. Higher = better (except cards, where lower = better — inverted automatically).
| Club | Seasons | First | Last | Matches | Goals | Assists | Minutes |
|---|---|---|---|---|---|---|---|
| FC Porto | 1 | 25/26 | 25/26 | 4 | 2 | 1 | 147 |
| Norwich City | 2 | 23/24 | 24/25 | 82 | 27 | 6 | 793 |
| Norwich City U21 | 1 | 23/24 | 23/24 | 2 | 0 | 0 | 0 |
| Giresunspor | 1 | 22/23 | 22/23 | 34 | 10 | 4 | 375 |
| Real Zaragoza | 1 | 21/22 | 21/22 | 35 | 3 | 1 | 511 |
| Deportivo Alavés | 2 | 19/20 | 20/21 | 44 | 2 | 2 | 1,001 |
| Deportivo Alavés B | 2 | 18/19 | 19/20 | 8 | 1 | 0 | 461 |
Career trajectory — goals, assists & market value
Goals by season
Assists by season
| Season | Competition | Club | Matches | Goals | Assists | YC | RC | Minutes |
|---|---|---|---|---|---|---|---|---|
| 25/26 | Liga Portugal | FC Porto | 4 | 2 | 1 | 2 | 0 | 147 |
| 24/25 | Championship | Norwich City | 41 | 18 | 4 | 7 | 0 | 201 |
| 24/25 | EFL Cup | Norwich City | 2 | 1 | 0 | 0 | 0 | 76 |
| 23/24 | Championship | Norwich City | 33 | 6 | 2 | 3 | 1 | 344 |
| 23/24 | Championship Play-Offs | Norwich City | 2 | 0 | 0 | 0 | 0 | 0 |
| 23/24 | EFL Cup | Norwich City | 1 | 1 | 0 | 0 | 0 | 27 |
| 23/24 | FA Cup | Norwich City | 3 | 1 | 0 | 0 | 0 | 145 |
| 23/24 | Premier League 2 | Norwich City U21 | 2 | 0 | 0 | 1 | 0 | 0 |
| 22/23 | Süper Lig | Giresunspor | 32 | 9 | 4 | 9 | 0 | 296 |
| 22/23 | Türkiye Kupasi | Giresunspor | 2 | 1 | 0 | 1 | 0 | 79 |
| 21/22 | 2ª División | Real Zaragoza | 32 | 3 | 0 | 7 | 0 | 511 |
| 21/22 | Copa del Rey | Real Zaragoza | 3 | 0 | 1 | 0 | 0 | 0 |
| 20/21 | Copa del Rey | Deportivo Alavés | 3 | 0 | 2 | 0 | 0 | 0 |
| 20/21 | LaLiga | Deportivo Alavés | 21 | 1 | 0 | 1 | 0 | 439 |
| 19/20 | 2ª B - Grupo II | Deportivo Alavés B | 6 | 1 | 0 | 0 | 0 | 461 |
| 19/20 | Copa del Rey | Deportivo Alavés | 1 | 0 | 0 | 0 | 0 | 0 |
| 19/20 | LaLiga | Deportivo Alavés | 19 | 1 | 0 | 1 | 0 | 562 |
| 18/19 | Seg. B Play-off | Deportivo Alavés B | 2 | 0 | 0 | 0 | 0 | 0 |
| Season | Date | From | To | Type | Market value | Fee |
|---|---|---|---|---|---|---|
| 17/18 | 2017-07-01 | Bilbao Youth | Alavés Youth | Transfer | 0 | — |
| 18/19 | 2018-07-01 | Alavés Youth | Alavés U19 | Transfer | 0 | — |
| 19/20 | 2019-07-01 | Alavés U19 | Alavés | Transfer | 0 | — |
| 21/22 | 2021-08-05 | Alavés | Real Zaragoza | Loan | 2000000 | — |
| 21/22 | 2022-06-30 | Real Zaragoza | Alavés | Return from loan | 2200000 | — |
| 22/23 | 2022-07-29 | Alavés | Giresunspor | Transfer | 2200000 | — |
| 23/24 | 2023-07-01 | Giresunspor | Norwich | Transfer | 2200000 | — |
| 25/26 | 2025-07-13 | Norwich | FC Porto | Transfer | 14000000 | €13.30m |
No recorded injuries.
| Date | Value |
|---|---|
| Jan 1, 1970 | €14.00m |
| Jan 1, 1970 | €12.00m |
| Jan 1, 1970 | €2.20m |
| Jan 1, 1970 | €2.20m |
| Jan 1, 1970 | €2.20m |
| Jan 1, 1970 | €2.20m |
| Jan 1, 1970 | €2.20m |
| Jan 1, 1970 | €2.20m |
| Jan 1, 1970 | €2.00m |
| Jan 1, 1970 | €2.20m |
| Jan 1, 1970 | €2.50m |
| Jan 1, 1970 | €2.50m |
| Jan 1, 1970 | €2.50m |
| Jan 1, 1970 | €300k |
| Team | Shirt | Matches | Goals | Debut | Age at debut | Status |
|---|---|---|---|---|---|---|
| Team #12609 | #19 | 5 | 3 | — | — | former national player |
| Teammate | PPG played with | Joint goals | Minutes |
|---|---|---|---|
| Fernando Pacheco | 1 | 0 | 848 |
| Joselu | 1 | 0 | 708 |
| Rubén Duarte | 1 | 0 | 692 |
| Jacob Lungi Sørensen | 1 | 1 | 0 |
| Serginho | 1 | 1 | 0 |
| Ramón Arias | 1 | 0 | 0 |
| Hayrullah Bilazer | 1 | 1 | 0 |
| Anis Slimane | 1 | 1 | 0 |
| Jair Amador | 1 | 0 | 0 |
| Ashley Barnes | 2 | 3 | 0 |
| José Córdoba | 1 | 0 | 0 |
| Ante Crnac | 1 | 0 | 0 |
| Riad Bajic | 1 | 3 | 0 |
| Jack Stacey | 1 | 1 | 0 |
| Oscar Schwartau | 1 | 0 | 0 |
| Callum Doyle | 1 | 4 | 0 |
| Gabriel Sara | 2 | 0 | 0 |
| Kellen Fisher | 1 | 1 | 0 |
| Josh Sargent | 1 | 7 | 0 |
| Angus Gunn | 2 | 0 | 0 |
Single-season peaks across competitions in this player's career.
Top goalscoring seasons
| Season | Competition | Club | Goals | Matches |
|---|---|---|---|---|
| 24/25 | Championship | Norwich City | 18 | 41 |
| 22/23 | Süper Lig | Giresunspor | 9 | 32 |
| 23/24 | Championship | Norwich City | 6 | 33 |
Top assist seasons
| Season | Competition | Club | Assists | Matches |
|---|---|---|---|---|
| 22/23 | Süper Lig | Giresunspor | 4 | 32 |
| 24/25 | Championship | Norwich City | 4 | 41 |
| 20/21 | Copa del Rey | Deportivo Alavés | 2 | 3 |
Every loan spell across this player's career.
| Season | Date | From | To | Type | Fee | Value at transfer |
|---|---|---|---|---|---|---|
| 21/22 | 2022-06-30 | Real Zaragoza | Alavés | Return from loan | — | €2.20m |
| 21/22 | 2021-08-05 | Alavés | Real Zaragoza | Loan | — | €2.00m |
Last 38 matches for FC Porto while Borja Sainz was at the club (joined 2025-07-13). The Availability column cross-references our injury database — matches inside a known injury window are flagged INJURED. Per-match goal attribution requires a paid feed (FBref/Sofascore) and isn't wired up yet.
| Date | Comp | Home | Score | Away | Availability |
|---|---|---|---|---|---|
| 2026-05-16 | PO1 |
FC Porto | 1–0 | CD Santa Clara | Available |
| 2026-05-10 | PO1 |
AVS | 3–1 | FC Porto | Available |
| 2026-05-10 | PO1 |
AVS | 3–1 | FC Porto | Available |
| 2026-05-02 | PO1 |
FC Porto | 1–0 | FC Alverca | Available |
| 2026-05-02 | PO1 |
FC Porto | 1–0 | FC Alverca | Available |
| 2026-04-26 | PO1 |
CF Estrela da Amadora | 1–2 | FC Porto | Available |
| 2026-04-26 | PO1 |
CF Estrela da Amadora | 1–2 | FC Porto | Available |
| 2026-04-19 | PO1 |
FC Porto | 2–0 | CD Tondela | Available |
| 2026-04-19 | PO1 |
FC Porto | 2–0 | CD Tondela | Available |
| 2026-04-12 | PO1 |
GD Estoril Praia | 1–3 | FC Porto | Available |
| 2026-04-04 | PO1 |
FC Porto | 2–2 | FC Famalicão | Available |
| 2026-03-22 | PO1 |
Sporting Clube de Braga | 1–2 | FC Porto | Available |
| 2026-03-15 | PO1 |
FC Porto | 3–0 | Moreirense FC | Available |
| 2026-03-08 | PO1 |
Sport Lisboa e Benfica | 2–2 | FC Porto | Available |
| 2026-02-27 | PO1 |
FC Porto | 3–1 | FC Arouca | Available |
| 2026-02-22 | PO1 |
FC Porto | 1–0 | Rio Ave FC | Available |
| 2026-02-15 | PO1 |
CD Nacional | 0–1 | FC Porto | Available |
| 2026-02-09 | PO1 |
FC Porto | 1–1 | Sporting Clube de Portugal | Available |
| 2026-02-02 | PO1 |
Casa Pia AC | 2–1 | FC Porto | Available |
| 2026-01-26 | PO1 |
FC Porto | 3–0 | Gil Vicente FC | Available |
| 2026-01-18 | PO1 |
Vitória Guimarães | 0–1 | FC Porto | Available |
| 2026-01-04 | PO1 |
CD Santa Clara | 0–1 | FC Porto | Available |
| 2025-12-29 | PO1 |
FC Porto | 2–0 | AVS | Available |
| 2025-12-22 | PO1 |
FC Alverca | 0–3 | FC Porto | Available |
| 2025-12-15 | PO1 |
FC Porto | 3–1 | CF Estrela da Amadora | Available |
| 2025-12-07 | PO1 |
CD Tondela | 0–2 | FC Porto | Available |
| 2025-11-30 | PO1 |
FC Porto | 1–0 | GD Estoril Praia | Available |
| 2025-11-09 | PO1 |
FC Famalicão | 0–1 | FC Porto | Available |
| 2025-11-02 | PO1 |
FC Porto | 2–1 | Sporting Clube de Braga | Available |
| 2025-10-27 | PO1 |
Moreirense FC | 1–2 | FC Porto | Available |
| 2025-10-05 | PO1 |
FC Porto | 0–0 | Sport Lisboa e Benfica | Available |
| 2025-09-29 | PO1 |
FC Arouca | 0–4 | FC Porto | Available |
| 2025-09-19 | PO1 |
Rio Ave FC | 0–3 | FC Porto | Available |
| 2025-09-13 | PO1 |
FC Porto | 1–0 | CD Nacional | Available |
| 2025-08-30 | PO1 |
Sporting Clube de Portugal | 1–2 | FC Porto | Available |
| 2025-08-24 | PO1 |
FC Porto | 4–0 | Casa Pia AC | Available |
| 2025-08-18 | PO1 |
Gil Vicente FC | 0–2 | FC Porto | Available |
| 2025-08-11 | PO1 |
FC Porto | 3–0 | Vitória Guimarães | Available |
Teams faced most often by Borja Sainz's clubs during seasons he played in those competitions (team-level results, not personal head-to-head goals — see disclaimer above).
| Opponent | P | W | D | L | GF | GA | GD | Win % |
|---|---|---|---|---|---|---|---|---|
| FC Famalicão | 14 | 10 | 3 | 1 | 35 | 16 | +19 | 71% |
| Vitória Guimarães | 14 | 12 | 1 | 1 | 27 | 8 | +19 | 86% |
| CD Mirandés | 13 | 3 | 5 | 5 | 6 | 10 | -4 | 23% |
| Elche CF | 13 | 6 | 3 | 4 | 16 | 13 | +3 | 46% |
| Real Oviedo | 13 | 0 | 6 | 7 | 13 | 21 | -8 | 0% |
| Sporting Gijón | 13 | 5 | 3 | 5 | 13 | 12 | +1 | 38% |
| FC Barcelona | 12 | 1 | 2 | 9 | 8 | 23 | -15 | 8% |
| Moreirense FC | 12 | 11 | 1 | 0 | 38 | 7 | +31 | 92% |
| SD Huesca | 12 | 3 | 5 | 4 | 11 | 11 | 0 | 25% |
| Levante UD | 12 | 3 | 5 | 4 | 16 | 21 | -5 | 25% |
| Rio Ave FC | 12 | 8 | 3 | 1 | 19 | 7 | +12 | 67% |
| CD Santa Clara | 12 | 10 | 2 | 0 | 21 | 4 | +17 | 83% |
Auto-detected milestones based on cumulative career totals.
| Season / Year | Milestone | Date |
|---|---|---|
| 18/19 | Senior debut season | |
| 19/20 | First senior goal |
Yellow / second-yellow / red cards per season. Only seasons with at least one card are shown.
| Season | Matches | Mins | YC | 2nd YC | RC | Cards / 90′ |
|---|---|---|---|---|---|---|
| 25/26 | 4 | 147 | 2 | 0 | 0 | 1.22 |
| 24/25 | 43 | 277 | 7 | 0 | 0 | 2.27 |
| 23/24 | 41 | 516 | 4 | 1 | 1 | 1.05 |
| 22/23 | 34 | 375 | 10 | 1 | 0 | 2.64 |
| 21/22 | 35 | 511 | 7 | 0 | 0 | 1.23 |
| 20/21 | 24 | 439 | 1 | 0 | 0 | 0.21 |
| 19/20 | 26 | 1,023 | 1 | 1 | 0 | 0.18 |
Output by competition
Career goals and assists broken down by tournament.
More on Borja Sainz
Explore this player's career through different angles.
Similar players
Same position, similar age, sorted by market value.
Frequently asked about Borja Sainz
Who is Borja Sainz?
Borja Sainz is a Spain professional footballer who plays as a left winger for FC Porto.
How old is Borja Sainz?
Borja Sainz is 25 years old. He was born on February 21, 2001 in Leioa.
What position does Borja Sainz play?
Borja Sainz plays as a left winger (Attack - Left Winger).
What club does Borja Sainz play for?
Borja Sainz currently plays for FC Porto.
How many career goals has Borja Sainz scored?
Across all senior club competitions in our dataset, Borja Sainz has scored 45 goals in 209 appearances.
What is Borja Sainz's market value?
Borja Sainz's most recent reported market value is €14.00m.
Spain