Match report
Portsmouth Stuns Millwall with 3-1 Victory in Championship Clash
Millwall
1–3
FT
Portsmouth
Feb 21, 2026
Portsmouth delivered a stunning performance to defeat Millwall with a final score of 3-1. Goals from G. Caballero, John Swift, and M. Pack powered the visitors to an important victory in their quest for promotion in the Championship.
Key Facts
- • Portsmouth scored three goals by G. Caballero (46'), John Swift (55'), and M. Pack (67')
- • Millwall's only goal came from C. De Norre at 64'
- • M. Alli of Portsmouth received a yellow card in the 17th minute
- • John Swift was also given a yellow card for Millwall during the match
- • Millwall made multiple substitutions, including T. Watson (61') and A. Doughty (81')
Lineups
Millwall
Formation: 4-2-3-1
Starting XI
- 13 A. Patterson (G)
- 4 T. Crama (D)
- 6 C. Taylor (D)
- 5 J. Cooper (D)
- 14 A. Doughty (D)
- 24 C. De Norre (M)
- 8 B. Mitchell (M)
- 11 F. Azeez (M)
- 10 C. Neghli (M)
- 22 T. Watson (M)
- 9 M. Ivanovic (F)
Substitutes
- 15 M. Crocombe
- 3 Z. Sturge
- 7 T. Ballo
- 17 M. Langstaff
- 18 R. Leonard
- 25 L. Cundle
- 31 R. Bangura-Williams
- 49 D. Mazou-Sacko
- 67 B. Bannan
Portsmouth
Formation: 4-2-3-1
Starting XI
- 1 N. Schmid (G)
- 24 T. Devlin (D)
- 5 R. Poole (D)
- 3 C. Ogilvie (D)
- 22 Z. Swanson (D)
- 7 M. Pack (M)
- 38 E. Adams (M)
- 47 G. Caballero (M)
- 8 J. Swift (M)
- 27 M. Alli (M)
- 9 C. Bishop (F)
Substitutes
- 26 J. Bursik
- 2 J. Williams
- 10 A. Segecic
- 16 L. Le Roux
- 17 I. Bowat
- 28 R. Swann
- 29 H. Blair
- 40 J. Brown
- 55 M. Dia
Timeline
-
17' Portsmouth Card · Yellow CardM. AlliFoul
-
46' Portsmouth Goal · Normal GoalG. Caballero -
55' Portsmouth Goal · Normal GoalJohn Swift -
60' Portsmouth Card · Yellow CardJohn SwiftFoul
-
61' Millwall subst · Substitution 1Off: T. Watson · On: M. Langstaff -
64' Millwall Goal · Normal GoalC. De Norre · Assist: M. Langstaff -
67' Portsmouth Goal · Normal GoalM. Pack -
70' Portsmouth subst · Substitution 1Off: John Swift · On: A. Segecic -
75' Millwall Card · Yellow CardT. CramaFoul
-
81' Millwall subst · Substitution 2Off: A. Doughty · On: Z. Sturge -
81' Millwall subst · Substitution 3Off: F. Azeez · On: T. Ballo -
81' Millwall subst · Substitution 4Off: T. Crama · On: R. Leonard -
82' Millwall subst · Substitution 5Off: C. De Norre · On: Barry Bannan -
86' Portsmouth subst · Substitution 2Off: G. Caballero · On: J. Brown -
90'+2 Portsmouth subst · Substitution 3Off: M. Alli · On: I. Bowat
Match Stats
| Stat | Millwall | Portsmouth |
|---|---|---|
| Fouls | 13 | 8 |
| Pass Accuracy | 74% | 69% |
| Offsides | — | — |
| Red Cards | — | — |
| Total Shots | 6 | 15 |
| Corners | 6 | 4 |
| Total Passes | 362 | 327 |
| Yellow Cards | 1 | 2 |
| Blocked Shots | 1 | 4 |
| Shots on Target | 3 | 8 |
| xG | 0.42 | 1.52 |
| Shots off Target | 2 | 3 |
| Possession | 53% | 47% |
| Goals Prevented | 0 | 0 |
| Accurate Passes | 269 | 224 |
| Shots Inside Box | 4 | 10 |
| Saves | 4 | 2 |
| Shots Outside Box | 2 | 5 |
Key Match Notes
- ▸ Portsmouth's early goal by G. Caballero in the 46th minute set the tone for their victory.
- ▸ Millwall responded with a goal from C. De Norre just four minutes later, but Portsmouth quickly regained control with John Swift's goal shortly after.