Charlotte FC pulled off a stunning upset at Sports Illustrated Stadium, dispatching the Red Bulls 0-2 despite being completely outshot. New York dominated possession and had 24 attempts to Charlotte's four, but couldn't find a way past a resolute visiting defense. The hosts also earned six corners to Charlotte's one, yet still couldn't breach the goal. It was a frustrating night for the Red Bulls, who controlled the game from start to finish without the clinical finishing to show for it. Kristijan Kahlina was immense for Charlotte, controlling the midfield and breaking up play when it mattered. The visitors scored twice to secure all three points, leaving New York with plenty of soul-searching to do. This was a masterclass in defensive discipline and efficiency, a reminder that sometimes possession counts for little when you can't convert chances. For the Red Bulls, the questions will be loud and uncomfortable in the dressing room.
The Matchup
Charlotte FC beat New York Red Bulls 0-2 at Sports Illustrated Stadium, and the numbers from the match back up how the game played out. Even without the extra share of possession, which finished 65% in favour of New York Red Bulls, Charlotte FC made the most of the chances that mattered and did enough to see the game out. The shot count told a similar story, with 24 attempts from New York Red Bulls against 4 from Charlotte FC over the course of the game. New York Red Bulls had their moments and did not make it easy from start to finish, but ultimately came up short on the day. Small margins like this one tend to add up over a season, and results such as this are often what separates teams in the table further down the line. Here is a closer look at exactly how the two sides compared, statistically.
Man of the Match
Match Statistics
Match Events
| Min | Team | Card | Event | Score |
|---|---|---|---|---|
| 7' | Charlotte FC | Goal — P. Biel (assist: L. Abada) | 0-1 | |
| 12' | Charlotte FC | Goal — A. Westwood (assist: K. A. Calderon Vargas) | 0-2 | |
| 47' | Charlotte FC | Liel Abada | 0-2 | |
| 56' | New York Red Bulls | Jorge Ruvalcaba | 0-2 | |
| 61' | Charlotte FC | Substitution — H. Toffolo on, W. Cleary off | 0-2 | |
| 70' | New York Red Bulls | Substitution — C. Cowell on, M. Sofo off | 0-2 | |
| 70' | New York Red Bulls | Substitution — D. Nealis on, J. Marshall-Rutty off | 0-2 | |
| 71' | New York Red Bulls | Substitution — E. Forsberg on, M. Jimenez off | 0-2 | |
| 71' | Charlotte FC | Substitution — L. Abada on, T. Smalls off | 0-2 | |
| 71' | Charlotte FC | Substitution — L. de la Torre on, D. Diani off | 0-2 | |
| 76' | New York Red Bulls | Adri Mehmeti | 0-2 | |
| 82' | Charlotte FC | Substitution — I. Toklomati on, A. Goodwin off | 0-2 | |
| 82' | Charlotte FC | Substitution — P. Biel on, B. Bronico off | 0-2 | |
| 84' | New York Red Bulls | Substitution — J. Ruvalcaba on, A. Rojas off | 0-2 | |
| 84' | New York Red Bulls | Substitution — M. Dos Santos on, O. Valencia off | 0-2 | |
| 85' | New York Red Bulls | Omar Valencia | 0-2 | |
| 90+3' | New York Red Bulls | Adri Mehmeti | 0-2 | |
| 90+1' | New York Red Bulls | Justin Che | 0-2 | |
| 90+3' | New York Red Bulls | Adri Mehmeti | 0-2 |
New York Red Bulls vs Charlotte FC Lineups
Looking Ahead
New York Red Bulls have a quick chance to build on this result. Their next test comes at home to Philadelphia Union, and how they respond after this result will be worth watching. You can follow the build-up and everything you need to know when New York Red Bulls vs Philadelphia Union going to play at 29 August 2026 in Major League Soccer 2026.
Charlotte FC, meanwhile, does not have long to wait before getting back out onto the pitch. They are next in action away at Atlanta United FC, a game that will give an early sense of how they carry this result forward. Full details are here: Atlanta United FC vs Charlotte FC going to play at 29 August 2026 in Major League Soccer 2026.