Skip to MLS data
The Sporting Page Real Analysis. Not Corporate
The Sporting Page
Loading scores…
Connecting to scores…
← Soccer newsMLS · 2026

Portland Timbers vs Charlotte FC

Regular Season

Saturday, Oct 24, 2026 · 10:30 pm EDT

3 – 2FinalFT

Match winner: Portland Timbers

Providence Park

Checked Nov 4, 12:39 am ESTRefresh match

Match statistics

Values retain the source’s display and precision. Some source rows labeled % are supplied as decimal ratios; no percentage conversion is inferred.

Supplied statistics for this match only.
StatisticPortland TimbersCharlotte FC
Fouls109
Yellow Cards11
Red Cards00
Offsides32
Corner Kicks93
Saves19
Possession55.844.2
SHOTS276
ON GOAL133
On Target %0.50.5
Penalty Goals00
Penalty Kicks Taken00
Accurate Passes528393
Passes569459
Pass Completion %0.90.9
Accurate Crosses62
Crosses3916
Cross %0.20.1
Long Balls4368
Accurate Long Balls3040
Long Balls %0.70.6
Blocked Shots91
Effective Tackles910
Tackles1314
Tackle %0.70.7
Interceptions74
Effective Clearances2043
Clearances2043

Key events

  1. —
    Kickoff
  2. 3'
    Goal

    Goal! Portland Timbers 0, Charlotte FC 1. Pep Biel (Charlotte FC) left footed shot from outside the box to the bottom left corner. Assisted by Ashley Westwood.

  3. 4'
    Start Delay

    Delay in match (Charlotte FC).

  4. 4'
    Start Delay
  5. 4'
    End Delay

    Delay over. They are ready to continue.

  6. 4'
    End Delay
  7. 11'
    Goal

    Goal! Portland Timbers 1, Charlotte FC 1. Ariel Lassiter (Portland Timbers) left footed shot from the centre of the box to the high centre of the goal. Assisted by Eric Izoita.

  8. 17'
    Yellow Card

    Eric Izoita (Portland Timbers) is shown the yellow card for a bad foul.

  9. 37'
    Start Delay

    Delay in match because of an injury Idan Toklomati (Charlotte FC).

  10. 37'
    Start Delay
  11. 39'
    End Delay
  12. 39'
    End Delay

    Delay over. They are ready to continue.

  13. 40'
    Goal

    Goal! Portland Timbers 2, Charlotte FC 1. Ariel Lassiter (Portland Timbers) left footed shot from the right side of the box to the bottom left corner. Assisted by Eric Izoita.

  14. 45'
    Yellow Card

    Nathan Byrne (Charlotte FC) is shown the yellow card for a bad foul.

  15. 45'+6'
    Halftime
  16. 45'
    Start 2nd Half
  17. 62'
    Substitution

    Substitution, Charlotte FC. Luca de la Torre replaces Liel Abada.

  18. 64'
    Substitution

    Substitution, Portland Timbers. Ian Smith replaces Jimer Fory.

  19. 64'
    Substitution

    Substitution, Portland Timbers. Cole Bassett replaces Eric Izoita.

  20. 69'
    Goal

    Goal! Portland Timbers 2, Charlotte FC 2. Idan Toklomati (Charlotte FC) right footed shot from very close range to the top left corner. Assisted by Luca de la Torre with a cross.

  21. 71'
    Substitution

    Substitution, Charlotte FC. Tyger Smalls replaces Rodolfo Aloko.

  22. 71'
    Substitution

    Substitution, Charlotte FC. Harry Toffolo replaces David Schnegg.

  23. 83'
    Substitution

    Substitution, Portland Timbers. Alexander Aravena replaces Vincent Janssen.

  24. 83'
    Substitution

    Substitution, Portland Timbers. Omir Fernandez replaces Ariel Lassiter.

  25. 85'
    Substitution

    Substitution, Charlotte FC. Baye Coulibaly replaces Ashley Westwood.

  26. 90'+6'
    Goal - Header

    Goal! Portland Timbers 3, Charlotte FC 2. Alexander Aravena (Portland Timbers) header from very close range to the centre of the goal. Assisted by Cole Bassett following a corner.

  27. 90'+7'
    End Regular Time

    Second Half ends, Portland Timbers 3, Charlotte FC 2.

Lineups

Players stay with their supplied roster club. Other listed players may be unused; App records source appearances, not the number of names listed. An own goal is credited in the event as supplied.

Portland TimbersFormation 4-3-3

Starting lineup

PlayerPosAppGAOGYCRC
41James PantemisG100000
4Kamal MillerCD-L100000
2Joel WatermanCD-R100000
27Jimer ForyLB100000
12Ronald HernándezRB100000
30José CaicedoCM100000
10David Da CostaLM100000
73Eric IzoitaRM102010
14Vincent JanssenF100000
99Kristoffer VeldeLF100000
7Ariel LassiterRF120000

Other listed players

PlayerPosAppGAOGYCRC
23Ian SmithSUB100000
28Alexander AravenaSUB110000
26Hunter SulteSUB000000
21Diego CharáSUB000000
22Omir FernándezSUB100000
15Eric MillerSUB000000
80Joao OrtizSUB000000
20Finn SurmanSUB000000
17Cole BassettSUB101000

Charlotte FCFormation 4-2-3-1

Starting lineup

PlayerPosAppGAOGYCRC
1Kristijan KahlinaG100000
22Henry KesslerCD-L100000
44Morrison AgyemangCD-R100000
23David SchneggLB100000
14Nathan ByrneRB100010
16Pep BielAM110000
28Djibril DianiLM100000
8Ashley WestwoodRM101000
9Idan ToklomatiF110000
11Liel AbadaAM-L100000
37Rodolfo AlokoAM-R100000

Other listed players

PlayerPosAppGAOGYCRC
71Nathan RichmondSUB000000
20Baye CoulibalySUB100000
4Andrew PrivettSUB000000
25Tyger SmallsSUB100000
83Hugo MbongueSUB000000
39Jack NeeleySUB000000
21Tyler MillerSUB000000
15Harry ToffoloSUB100000
17Luca de la TorreSUB101000

Commentary

  1. —

    Lineups are announced and players are warming up.

  2. —

    First Half begins.

  3. 1'

    Kristoffer Velde (Portland Timbers) wins a free kick on the left wing.

  4. 1'

    Foul by Rodolfo Aloko (Charlotte FC).

  5. 3'

    Goal! Portland Timbers 0, Charlotte FC 1. Pep Biel (Charlotte FC) left footed shot from outside the box to the bottom left corner. Assisted by Ashley Westwood.

  6. 4'

    Delay in match (Charlotte FC).

  7. 4'

    Delay over. They are ready to continue.

  8. 5'

    Foul by Joel Waterman (Portland Timbers).

  9. 5'

    Idan Toklomati (Charlotte FC) wins a free kick in the defensive half.

  10. 6'

    Offside, Portland Timbers. Jimer Fory is caught offside.

  11. 8'

    Attempt blocked. Rodolfo Aloko (Charlotte FC) left footed shot from the centre of the box is blocked. Assisted by Nathan Byrne.

  12. 11'

    Goal! Portland Timbers 1, Charlotte FC 1. Ariel Lassiter (Portland Timbers) left footed shot from the centre of the box to the high centre of the goal. Assisted by Eric Izoita.

  13. 13'

    Corner, Charlotte FC. Conceded by Kamal Miller.

  14. 14'

    Foul by David Schnegg (Charlotte FC).

  15. 14'

    Ronald Hernández (Portland Timbers) wins a free kick in the defensive half.

  16. 14'

    Attempt blocked. Eric Izoita (Portland Timbers) right footed shot from outside the box is blocked. Assisted by Ronald Hernández.

  17. 14'

    Attempt saved. Vincent Janssen (Portland Timbers) right footed shot from the centre of the box is saved in the centre of the goal by Kristijan Kahlina (Charlotte FC).

  18. 15'

    Foul by Djibril Diani (Charlotte FC).

  19. 15'

    José Caicedo (Portland Timbers) wins a free kick in the defensive half.

  20. 16'

    Attempt blocked. Kristoffer Velde (Portland Timbers) right footed shot from the centre of the box is blocked. Assisted by Ariel Lassiter.

  21. 16'

    Corner, Portland Timbers. Conceded by Henry Kessler.

  22. 17'

    Liel Abada (Charlotte FC) wins a free kick on the left wing.

  23. 17'

    Foul by Eric Izoita (Portland Timbers).

  24. 17'

    Eric Izoita (Portland Timbers) is shown the yellow card for a bad foul.

  25. 21'

    Corner, Charlotte FC. Conceded by Ronald Hernández.

  26. 26'

    Attempt saved. Kristoffer Velde (Portland Timbers) left footed shot from a difficult angle on the left is saved in the centre of the goal by Kristijan Kahlina (Charlotte FC). Assisted by Jimer Fory.

  27. 26'

    Attempt missed. José Caicedo (Portland Timbers) right footed shot from outside the box is too high. Assisted by Jimer Fory.

  28. 33'

    Attempt saved. Ariel Lassiter (Portland Timbers) right footed shot from the right side of the box is saved in the bottom left corner by Kristijan Kahlina (Charlotte FC). Assisted by Vincent Janssen.

  29. 34'

    Foul by Rodolfo Aloko (Charlotte FC).

  30. 34'

    José Caicedo (Portland Timbers) wins a free kick in the defensive half.

  31. 37'

    Delay in match because of an injury Idan Toklomati (Charlotte FC).

  32. 39'

    Delay over. They are ready to continue.

  33. 40'

    Goal! Portland Timbers 2, Charlotte FC 1. Ariel Lassiter (Portland Timbers) left footed shot from the right side of the box to the bottom left corner. Assisted by Eric Izoita.

  34. 45'

    Foul by Nathan Byrne (Charlotte FC).

  35. 45'

    Kristoffer Velde (Portland Timbers) wins a free kick on the left wing.

  36. 45'

    Nathan Byrne (Charlotte FC) is shown the yellow card for a bad foul.

  37. 45'+1'

    Fourth official has announced 5 minutes of added time.

  38. 45'+2'

    Nathan Byrne (Charlotte FC) wins a free kick on the right wing.

  39. 45'+2'

    Foul by José Caicedo (Portland Timbers).

  40. 45'+3'

    Foul by Idan Toklomati (Charlotte FC).

  41. 45'+3'

    Joel Waterman (Portland Timbers) wins a free kick on the right wing.

  42. 45'+5'

    Attempt blocked. Kristoffer Velde (Portland Timbers) right footed shot from the left side of the box is blocked. Assisted by Eric Izoita.

  43. 45'+5'

    Corner, Portland Timbers. Conceded by Rodolfo Aloko.

  44. 45'+5'

    Corner, Portland Timbers. Conceded by Rodolfo Aloko.

  45. 45'+6'

    First Half ends, Portland Timbers 2, Charlotte FC 1.

  46. 45'

    Second Half begins Portland Timbers 2, Charlotte FC 1.

  47. 46'

    Attempt missed. Kristoffer Velde (Portland Timbers) right footed shot from outside the box is high and wide to the right. Assisted by Eric Izoita.

  48. 47'

    Attempt saved. Eric Izoita (Portland Timbers) left footed shot from outside the box is saved in the top centre of the goal by Kristijan Kahlina (Charlotte FC). Assisted by David da Costa.

  49. 48'

    Attempt saved. Eric Izoita (Portland Timbers) left footed shot from the centre of the box is saved in the top centre of the goal by Kristijan Kahlina (Charlotte FC). Assisted by Kristoffer Velde.

  50. 49'

    Liel Abada (Charlotte FC) wins a free kick in the defensive half.

  51. 49'

    Foul by Ronald Hernández (Portland Timbers).

  52. 49'

    David Schnegg (Charlotte FC) wins a free kick in the defensive half.

  53. 49'

    Foul by Eric Izoita (Portland Timbers).

  54. 50'

    Corner, Charlotte FC. Conceded by Jimer Fory.

  55. 51'

    Attempt saved. Idan Toklomati (Charlotte FC) header from the centre of the box is saved in the centre of the goal by James Pantemis (Portland Timbers). Assisted by Pep Biel with a cross.

  56. 52'

    Attempt blocked. David da Costa (Portland Timbers) left footed shot from the left side of the box is blocked. Assisted by Vincent Janssen.

  57. 52'

    Corner, Portland Timbers. Conceded by Morrison Agyemang.

  58. 53'

    Offside, Charlotte FC. Liel Abada is caught offside.

  59. 54'

    Attempt blocked. José Caicedo (Portland Timbers) right footed shot from outside the box is blocked.

  60. 54'

    Corner, Portland Timbers. Conceded by Djibril Diani.

  61. 55'

    Attempt saved. Ariel Lassiter (Portland Timbers) left footed shot from the right side of the box is saved in the centre of the goal by Kristijan Kahlina (Charlotte FC).

  62. 56'

    Offside, Portland Timbers. Kristoffer Velde is caught offside.

  63. 60'

    Idan Toklomati (Charlotte FC) wins a free kick in the defensive half.

  64. 60'

    Foul by Kamal Miller (Portland Timbers).

  65. 62'

    Substitution, Charlotte FC. Luca de la Torre replaces Liel Abada.

  66. 63'

    Attempt missed. Luca de la Torre (Charlotte FC) left footed shot from outside the box is close, but misses to the right.

  67. 64'

    Substitution, Portland Timbers. Ian Smith replaces Jimer Fory.

  68. 64'

    Substitution, Portland Timbers. Cole Bassett replaces Eric Izoita.

  69. 65'

    Handball by Rodolfo Aloko (Charlotte FC).

  70. 66'

    Corner, Portland Timbers. Conceded by Morrison Agyemang.

  71. 67'

    Attempt missed. Cole Bassett (Portland Timbers) header from the centre of the box misses to the right. Assisted by David da Costa with a cross following a corner.

  72. 68'

    Idan Toklomati (Charlotte FC) wins a free kick in the defensive half.

  73. 68'

    Foul by Joel Waterman (Portland Timbers).

  74. 69'

    Goal! Portland Timbers 2, Charlotte FC 2. Idan Toklomati (Charlotte FC) right footed shot from very close range to the top left corner. Assisted by Luca de la Torre with a cross.

  75. 71'

    Substitution, Charlotte FC. Tyger Smalls replaces Rodolfo Aloko.

  76. 71'

    Substitution, Charlotte FC. Harry Toffolo replaces David Schnegg.

  77. 71'

    Idan Toklomati (Charlotte FC) wins a free kick in the defensive half.

  78. 71'

    Foul by Kamal Miller (Portland Timbers).

  79. 72'

    Foul by Idan Toklomati (Charlotte FC).

  80. 72'

    José Caicedo (Portland Timbers) wins a free kick in the defensive half.

  81. 74'

    Attempt missed. José Caicedo (Portland Timbers) right footed shot from outside the box is high and wide to the right.

  82. 76'

    Attempt blocked. Cole Bassett (Portland Timbers) left footed shot from the centre of the box is blocked. Assisted by Kristoffer Velde.

  83. 76'

    Corner, Portland Timbers. Conceded by Djibril Diani.

  84. 77'

    Attempt missed. Cole Bassett (Portland Timbers) right footed shot from the left side of the box is close, but misses to the right. Assisted by David da Costa.

  85. 78'

    Attempt saved. Cole Bassett (Portland Timbers) right footed shot from the right side of the box is saved in the top right corner by Kristijan Kahlina (Charlotte FC). Assisted by Ronald Hernández.

  86. 82'

    Nathan Byrne (Charlotte FC) wins a free kick in the defensive half.

  87. 82'

    Foul by Vincent Janssen (Portland Timbers).

  88. 83'

    Substitution, Portland Timbers. Alexander Aravena replaces Vincent Janssen.

  89. 83'

    Substitution, Portland Timbers. Omir Fernandez replaces Ariel Lassiter.

  90. 85'

    Nathan Byrne (Charlotte FC) wins a free kick in the defensive half.

  91. 85'

    Foul by Kristoffer Velde (Portland Timbers).

  92. 85'

    Substitution, Charlotte FC. Baye Coulibaly replaces Ashley Westwood.

  93. 86'

    Attempt missed. Tyger Smalls (Charlotte FC) left footed shot from the left side of the six yard box is close, but misses to the left. Assisted by Harry Toffolo.

  94. 87'

    Attempt saved. Ronald Hernández (Portland Timbers) right footed shot from the centre of the box is saved in the bottom left corner by Kristijan Kahlina (Charlotte FC). Assisted by Cole Bassett.

  95. 87'

    Attempt saved. David da Costa (Portland Timbers) right footed shot from very close range is saved in the top centre of the goal by Kristijan Kahlina (Charlotte FC).

  96. 89'

    Offside, Portland Timbers. Alexander Aravena is caught offside.

  97. 90'+1'

    Fourth official has announced 5 minutes of added time.

  98. 90'+1'

    Corner, Portland Timbers. Conceded by Henry Kessler.

  99. 90'+3'

    Offside, Charlotte FC. Harry Toffolo is caught offside.

  100. 90'+3'

    Attempt blocked. Cole Bassett (Portland Timbers) left footed shot from the right side of the box is blocked. Assisted by Ronald Hernández.

  101. 90'+4'

    Attempt blocked. Ian Smith (Portland Timbers) right footed shot from the centre of the box is blocked.

  102. 90'+5'

    Foul by Idan Toklomati (Charlotte FC).

  103. 90'+5'

    Ronald Hernández (Portland Timbers) wins a free kick on the right wing.

  104. 90'+5'

    Attempt blocked. Ronald Hernández (Portland Timbers) header from the right side of the six yard box is blocked. Assisted by Kristoffer Velde with a cross.

  105. 90'+5'

    Corner, Portland Timbers. Conceded by Baye Coulibaly.

  106. 90'+6'

    Attempt blocked. Cole Bassett (Portland Timbers) header from the right side of the six yard box is blocked.

  107. 90'+6'

    Goal! Portland Timbers 3, Charlotte FC 2. Alexander Aravena (Portland Timbers) header from very close range to the centre of the goal. Assisted by Cole Bassett following a corner.

  108. 90'+7'

    Second Half ends, Portland Timbers 3, Charlotte FC 2.

  109. —

    Match ends, Portland Timbers 3, Charlotte FC 2.

Sources & data scope

Supplied match statistics, events and lineups. Missing components remain unavailable; preview season aggregates are excluded from match statistics.

  • ESPN source ↗ · Checked Nov 4, 2026, 12:39 am ESTSupplied match statistics, events and lineups. Missing components remain unavailable; preview season aggregates are excluded from match statistics.

Times are Eastern Time. A selected match date does not rewind the current table or roster. Missing values are shown as —.