New York City FC dominated possession and created chance after chance at Yankee Stadium, but it wasn't enough to overcome a Charlotte side that made their opportunities count. The hosts controlled the game with 22 shots and six corners, yet couldn't find the back of the net in the first half. Charlotte came out with a different approach in the second period and caught City cold, scoring twice to run out 2-1 winners in what turned into a frustrating afternoon for the home team. Kristijan Kahlina was the standout performer for the visitors, earning Man of the Match honors with a commanding display that helped Charlotte weather the storm of City attacks. Despite being second best for large stretches, Charlotte's clinical finishing proved decisive when it mattered. City pulled one back but couldn't salvage anything from the game, leaving them with plenty to rue about their wastefulness in front of goal.
The Matchup
Charlotte FC beat New York City FC 1-2 at Yankee Stadium, and the numbers from the match back up how the game played out. Even without the extra share of possession, which finished 64% in favour of New York City FC, 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 22 attempts from New York City FC against 7 from Charlotte FC over the course of the game. New York City FC 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 |
|---|---|---|---|---|
| 3' | Charlotte FC | Brandt Bronico | 0-0 | |
| 17' | New York City FC | Raul Gustavo | 0-0 | |
| 46' | Charlotte FC | Substitution — T. Ream on, A. Privett off | 0-0 | |
| 54' | Charlotte FC | Goal — I. Toklomati | 0-1 | |
| 67' | New York City FC | Substitution — A. Ojeda on, Talles Magno off | 0-1 | |
| 68' | Charlotte FC | Andrew Privett | 0-1 | |
| 69' | Charlotte FC | Substitution — R. Aloko on, K. A. Calderon Vargas off | 0-1 | |
| 77' | New York City FC | Substitution — Raul Gustavo on, K. Parks off | 0-1 | |
| 77' | Charlotte FC | Substitution — I. Toklomati on, A. Goodwin off | 0-1 | |
| 77' | Charlotte FC | Substitution — B. Bronico on, L. de la Torre off | 0-1 | |
| 81' | Charlotte FC | Nathan Byrne | 0-1 | |
| 84' | Charlotte FC | Kristijan Kahlina | 0-1 | |
| 85' | New York City FC | Keaton Parks | 0-1 | |
| 86' | New York City FC | Substitution — K. Trewin on, S. Reid off | 0-1 | |
| 90+3' | Charlotte FC | Substitution — P. Biel on, D. Diani off | 0-1 | |
| 90' | Charlotte FC | Goal — K. A. Calderon Vargas | 0-2 | |
| 90' | New York City FC | Goal — N. Mercau (assist: H. Wolf) | 1-2 |
New York City FC vs Charlotte FC Lineups
Looking Ahead
New York City FC does not have long to wait before getting back out onto the pitch. Their next test comes away at Toronto FC, and how they respond after this result will be worth watching. You can follow the build-up and everything you need to know when Toronto FC vs New York City FC going to play at 29 August 2026 in Major League Soccer 2026.
Charlotte FC, meanwhile, will already be turning their attention to what comes next. 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.