The 2023 season was the inaugural season for St. Louis City SC. It is the club's first season in existence, their first in the top-tier of American soccer, and their first season in Major League Soccer. During the regular season, City SC became the first expansion team to win its conference, finishing first in the Western Conference, and earned the most wins; the team fell short of the all-time points record for an expansion team set by Los Angeles FC in 2018.[2] Head coach Bradley Carnell used 32 different starting lineups during the regular season's 34 matches.[3]
St. Louis City SC opened their inaugural MLS season on the road Feb 25 at Austin FC. Tim Parker opened up the scoring by heading home the first goal in franchise history, coming off a corner kick in the 24th minute. After going down 2–1, St. Louis City SC got second-half goals from Jared Stroud (78’) and João Klauss (86’) to come from behind and earn their first win as a franchise, 3–2. St. Louis City SC midfielder Indiana Vassilev suffered a broken nose in the 17th minute.[5]
The following week, Mar 4, Charlotte FC came to town to open CityPark for the first home game in franchise history. Enzo Copetti scored the first goal in CityPark history (25’) to give Charlotte a 1–0 lead, but a Bill Tuiloma own goal (41’) and an Eduard Löwen PK (45+5’) gave St. Louis City SC a 2–1 lead heading into halftime. João Klauss (71’) closed out the scoring to give St. Louis City SC a 3–1 win, their first home win as a franchise. With the win, St. Louis City SC became just the fourth expansion team to start their existence 2–0. Indiana Vassilev returned while wearing a mask in the 73rd minute.[6]
St. Louis City SC's second away game came Mar 11 at Portland Timbers. A quick Timbers goal to start the game put St. Louis City SC behind 1–0, but Jared Stroud tied it up in first half stoppage time (45+1’). What looked like a good potential road draw in a tough environment turned into St. Louis City SC's 3rd win out of 3 when Kyle Hiebert headed in (75’) an Eduard Löwen free kick to put St. Louis City SC ahead 2–1. This was not only their 3rd come-from-behind win, but also tied the 2009 Seattle Sounders for most wins by an expansion franchise to start a season (3–0–0).[7]
San Jose Earthquakes came to CityPark Mar 18 for Matchday 4. Goals from Niko Gioacchini (34’), João Klauss (45+3) and Tomáš Ostrák (68’) led to a 3–0 win — St. Louis City SC's 4th straight, and first Clean Sheet in franchise history. The win set a new record for an expansion franchise start at 4–0–0.[8]
A trip to Real Salt Lake on Mar 25 finished out the month of March. St. Louis City SC were in good form coming off the 3–0 win the previous week. After a 0–0 first half, Niko got the scoring started in the 47th minute, followed by 2 goals from Klauss (61’, 66’) and a finisher from Rasmus Alm (76’) to cap a 4–0 win. It was Roman Bürki's second Clean Sheet of the season and St. Louis City SC's 5th straight win, further extending the new record for most wins by an expansion franchise to start a season at 5–0–0.[9]
April
Coming home for April Fools' Day, St. Louis City SC had the tough task of breaking apart Minnesota United's low block system. The game was 0–0 late and was inching towards St. Louis City SC's first draw on the year. However, a foul in the box by Kyle Hiebert in the 76th minute led to a penalty kick, which was converted to give Minnesota a 1–0 lead. Despite a flurry of an attack at the end of the game and a great chance on goal by Sam Adeniran, Minnesota held on to give St. Louis City SC their first loss on the season.[10] Of note, Njabulo Blom joined the team for the first time since Match 2 against Charlotte FC, coming on as a sub in the 60th minute. He had missed the previous 3 games due to COVID.[11]
What many penciled in as St. Louis City SC's first true test of the season came on Matchday 7 at Seattle Sounders FC the following week, Apr 8. For the first half, St. Louis City SC were up to the task, taking a 0–0 game into the locker room. But just after the hour mark Josh Atencio scored a screamer to put the Sounders ahead 1–0. From there, momentum and strategy shifted. St. Louis City SC were on the back foot and conceded a second goal at 71’. With the game in hand Seattle capped off a 3–0 win with help from a Jake Nerwinski own goal (another St. Louis City SC first) at 89’. Of note, Njabulo Blom came off in the 64th minute with a groin injury and would miss 5–6 weeks.[12]
Following two straight losses, St. Louis City SC had another tough task welcoming FC Cincinnati to CityPark on Apr 15. At the time, both teams had led the Supporters Shield race at one point in the season with St. Louis City SC carrying a 5–2–0 record, while Cincy came in undefeated at 5–0–2. Just prior to the game a line of thunderstorms ripped through the St. Louis area setting off tornado sirens downtown at CityPark.[13] The game was delayed for hours while fans took shelter in nearby bars and Union Station. By 10 pm local time, the storms had passed and the field was ready for playing. St. Louis City SC did not waste any more time to get on the scoresheet, with Jared Stroud's 3rd goal of the year coming in just the 3rd minute of play. St. Louis City SC added two more goals in the first half from Löwen (39’) and Hiebert (45+2’) to lead 3–0. The second half was much the same. A quick goal by Niko at 53’ and an own goal on GK Roman Celentano (57’; shot by Rasmus Alm) put St. Louis City SC up 5-0 inside an hour. Cincy did respond five minutes later with a goal by Sergio Santos at 62’, but that ended the scoring on the night with a 5–1 St. Louis City SC win and a move back into 1st place in the Shield race.[14]
Matchday 9 on Apr 22 at Colorado Rapids wasn't going to be an easy task and St. Louis City SC wouldn't come away unscathed. After a quiet, 0–0 first half Rasmus Alm gave St. Louis City SC the lead in the 57th minute. Not long after, in the 61st minute, João Klauss went down away from play rubbing his quad and was subbed off due to injury. Colorado made wholesale changes at 70’ to change the dynamic of the game. Roman Bürki was truly tested for the rest of the half. One of those Colorado subs, Michael Barrios, got the equalizer in stoppage time to give St. Louis City SC their first draw in franchise history. Klauss, initially thought to be out 10–14 days, would end up missing 17 weeks and 14 games due to the injury.[15]
While St. Louis has a long and storied history with the U.S. Open Cup, going back over 100 years, St. Louis City SC's first game in the tournament came on Tuesday, Apr 25 at CityPark – a matchup against Union Omaha of USL League One. A sold-out crowd of 22,423 would not only set an attendance record for a U.S. Open Cup Third Round match,[16][17] but also see St. Louis City SC cruise to a 5–1 win on the backs of Aziel Jackson (3’, 66’), Akil Watts (62’), Löwen (86’) and an Omaha own goal (48’). Prior to the game, St. Louis City SC loaned out Sam Adeniran to San Antonio FC of USL Championship.[18]
St. Louis City SC were back in MLS action the following Saturday, Apr 29, welcoming Portland Timbers to CityPark. It was the second matchup of the season between the two teams, with St. Louis City SC winning 2–1 in Portland on Matchday 3. The teams went into halftime at 0–0 and it was looking like neither wanted the win. But with the weather turning cold and rainy, a foul in the box gave Evander a PK at 63’ to put Portland up 1–0. Célio Pompeu would give St. Louis City SC hope, equalizing at 81’, but Portland immediately answered at 82’ to take the lead and the game 2–1.[19]
May
By May the MLS Scheduling Gods introduced themselves to the new boys of the league. On May 6, St. Louis City SC visited Frisco, TX for their first matchup against FC Dallas. The first half ended at 0–0. But coming back from halftime the weather was about to turn sour. Five minutes into the second half, with thunderstorms near, the referee stopped play and sent both teams back to their locker rooms. Play never resumed, but rather than restart the next day, it was determined the game would be postponed until a later date.[20] It ended up being rescheduled for Wednesday, June 7 and play would resume at the 50’ mark. Furthermore, the same starters and subs for both teams must be on the field exactly as they were when play was halted.[21]
After traveling to Texas to play half of a game, St. Louis City SC's next match was Tuesday, May 9 at Chicago Fire for their Round 32 matchup in the U.S. Open Cup. Chicago kicked things off early with a goal at 3’ by Maren Haile-Selassie. From there they cruised, never really being challenged in St. Louis City SC's worst game of the season to date. A goal by Fabian Herbers at 75’ put Chicago up 2–0. A stoppage time goal by Miggy Perez (90+3’) made the scoreline seem much closer than the game actually was. St. Louis City SC were officially out of U.S. Open Cup.[22]
Four days later, St. Louis City SC again traveled to Chicago. This time for MLS Matchday 11 on May 13. Njabulo Blom was back from his injury woes, but Tim Parker served a 1-game suspension due to yellow card accumulation. The game was closer than May 9, but the result was the same – a 1–0 Chicago win on the back of a Rafael Czichos goal in the 40th minute. Of note in this game, St. Louis City SC defender Johnny Nelson picked up the franchise's first red card in the 70th minute after receiving his second yellow card of the game. 16-year-old Caden Glover made his debut appearance in the 77th minute.[23]
On May 20, St. Louis City SC returned home from that away-double against a potential rival only to welcome another potential rival, Sporting KC, to CityPark for the first time. With goals from Löwen (19’), Indiana Vassilev (25’, 75’) and Niko (55’), St. Louis City SC secured a 4–0 win and Bürki's 3rd Clean Sheet of the season.[24]
Vancouver Whitecaps FC came into CityPark the following week, May 27. St. Louis City SC took a 1–0 lead at 10’ on a Löwen free kick from about 35 yards out that subsequently won Goal of the Matchday. A Vancouver own goal in the 45th minute and a stoppage time goal by Miggy Perez (90+4’) sealed the 3–1 win.[25]
St. Louis City SC's first MLS midweek game was due to be played May 31 at LAFC. However, due to LAFC's advancement to the CONCACAF Champions League Final, the first leg of that Final was scheduled to be played May 31. As a result, the MLS matchup between LAFC and St. Louis City SC was rescheduled for July 12.[26]
June
Houston Dynamo visited CityPark for the first time Jun 3. St. Louis City SC started the game off quick with a goal by Löwen in the 9th minute, then followed with goals by Ostrák (51’) and Niko (83’) leading to a 3–0 win. The shutout was Bürki's 4th Clean Sheet of the season.[27]
St. Louis City SC next headed back to Dallas Jun 7 for the restart of the postponed game from May 6. It resumed with the score 0–0 and 40 minutes left to play. Much of the half was uneventful, but in the 80th minute Jesus Ferreira struck to put Dallas up 1–0. Not long after, Marco Farfan joined him to make it 2–0 and sealed Dallas's long-waited result over St. Louis City SC.[28]
Looking to turn the page, St. Louis City SC welcomed 13th place LA Galaxy to CityPark on Jun 11. The teams played to a 1–1 draw with Niko scoring first in the 68th minute. But St. Louis City SC were not able make it stand up, allowing the equalizer in the 85th.[29]
Eduard Löwen developed a quad injury in training leading up to the game at Nashville SC June 17 causing him to miss the game and sit out until Aug 20. The game didn't provide much better news. Hany Mukhtar put Nashville ahead in the 11th minute, but Niko (41’) was able to equalize right before half to give St. Louis City SC hope. However Kyle Hiebert earned a red card due to his second yellow of the game in the 68th minute. Down to 10 men, St. Louis City SC tried to hold the draw as best they could. But two more goals by Hany Mukhtar (70’, 75’) put the game away and gave Nashville the 3–1 win.[30]
Amidst their toughest stretch of games of the season St. Louis City SC came back home to welcome Real Salt Lake to CityPark on Jun 21. The two teams had played earlier in the season with St. Louis City SC grabbing a 4–0 win. Coming into the game, RSL were the best away team in the league and they showed why. After falling behind 1–0, Niko equalized in the 21st minute. But RSL quickly went back on top soon after coming out of halftime. In the 66th minute RSL scored their third goal to leave town with a 3–1 win.[31]
Playing their 6th game in 21 days, St. Louis City SC went to San Jose on Jun 24 to play the Earthquakes in a rematch from earlier in the season. Sam Adeniran was called back from loan in San Antonio and placed in the lineup as a starter.[32] The move paid off as Adeniran scored a brace (41’, 58’) to take the double from San Jose on the season, winning 2–1.[33]
July
Colorado Rapids came to town on Jul 1 with St. Louis City SC looking for revenge for the late draw in April. It did not take long to strike. Goals by Parker (4’) and Stroud (11’) were enough to secure a 2–0 win and Bürki's 5th Clean Sheet.[34]
St. Louis City SC's first visit to Canada came on Jul 8 against Toronto FC. Looking to make it 3 wins in 3, it took until the 50th minute before Aziel Jackson slid home his first-ever MLS goal to give St. Louis City SC a 1–0 lead. It was enough to claim all 3 points on the day and give Bürki his 6th Clean Sheet.[35]
In the rescheduled game against LAFC (May 31), St. Louis City SC travelled to LA Jul 12 for a midweek matchup that many were anticipating. For 70 minutes it did not disappoint. But a similar late-game letdown at Seattle (Matchday 7) unfolded with LAFC getting goals at 72’, 82’ and 90+2’ amounting to a 3–0 win. In the 69th minute Eduard Löwen returned from a quad injury he developed prior to the matchup against Nashville (Jun 17), missing 5 total games.[36]
The final game before the All-Star/Leagues Cup break, St. Louis City SC welcomed Inter Miami CF to CityPark on Jul 15. It would also be Miami's last game prior to Lionel Messi's first appearance. St. Louis City SC won the match 3–0 on the strength of goals by Adeniran (28’), Parker (40’) and Löwen (80’). Bürki logged his 7th Clean Sheet of the season.[37]
MLS All-Star Game
St. Louis City SC had two players named to the MLS All-Star team: goalie Roman Bürki and defender Tim Parker. For both, it was their first selection. The game was played at Audi Field (home of D.C. United) on July 19 against Arsenal FC. Bürki started the game in goal and played 34 minutes, being subbed out for Tyler Miller. Parker played 45 minutes, coming on at half time for Walker Zimmerman and seeing the game out.[38]
Bürki also participated in the All-Star Skills Challenge, serving as goalie in the Cross & Volley Challenge.[39]
Leagues Cup
The MLS seeding for Leagues Cup was determined by every team's final position for the 2022 season. Since St. Louis City SC did not field an MLS team in 2022 they were considered 29th of 29 MLS teams and seeded as such.[40] This, despite coming into Leagues Cup sitting in 1st place in the Western Conference and 3rd place in the overall Shield race, meant that St. Louis City SC were placed in an unfavorable group with Columbus Crew and Club América. (The Crew would go on to win MLS Cup 2023 in the fall; América would go on to win the 2023 Liga MX Apertura.)
Originally set to kick off at 7:30 pm local time, Jul 23, St. Louis City SC's first visit to Columbus was beset by weather and delayed for nearly four hours. When play finally did start, St. Louis City SC found themselves down quickly. A Lucas Zelarayán free kick (11’) and a Cucho Hernández PK (29’) was all Columbus would need to control the game. A late own goal by Columbus made things interesting, but they secured the 3 points by holding on to a 2–1 win.[41]
St. Louis City SC then welcomed Club América to CityPark Jul 27, but due to the quirks of Leagues Cup, they did so as an away team playing in their home stadium. Furthermore, despite the game starting after 9 pm local time to accommodate Mexico City, temps were hovering at 100 °F. América got down to business early with Henry Martín scoring in the 5th minute and América controlling the game thereafter. They would add 3 goals in the second half in yet another game of two halves by St. Louis City SC. The 4–0 loss eliminated St. Louis City SC from Leagues Cup and meant they would be sitting idle for more than three weeks while the rest of the tournament played out.[42]
The MLS season picked back up Aug 20 and Austin FC came to town for what would be another steamy night in St. Louis. With temps pushing 100 °F at game time, Tim Parker got St. Louis City SC on the board in the 22nd minute. Niko added a second goal before halftime (45+2’) and a third just after (50’). Austin would try to climb back into the game with a Sebastián Driussi PK (61’), but from there the two teams would trade goals. Sam Adeniran (72’, 90+5’) and Tomáš Ostrák (88’) kept Austin at arms length to seal a 6–3 win. The 6 goals in a single game would be the most St. Louis City SC would score all season across all competitions. The game marked the long-awaited debut of Joakim Nilsson who came on in the 87th minute.[45]
The long-awaited return of Klauss came Aug 26 at Orlando City SC. A steady first half by both teams left the game scoreless, but St. Louis City SC found themselves down 1–0 within moments of starting the second half. A number of subs for St. Louis City SC after the 70th minute would be key in getting an equalizer from Alm (79’). The goal was St. Louis City SC's 50th on the season in just 25 games – the fastest expansion team to accomplish the feat. However just ten minutes later St. Louis City SC would again find themselves in the unfortunate position of giving up a handball in the box and a resulting PK. That stoppage time goal would seal Orlando's win over St. Louis City SC.[46][47]
In their third meeting in two games, FC Dallas came to St. Louis on Aug 30 for a midweek matchup. A 12th minute red card on Dallas GK Maarten Paes saw St. Louis City SC up a man for much of the game. Yet it wasn't until after the 80th minute that they got on the board. Anthony Markanich scored his first St. Louis City SC goal in the 82nd minute, quickly followed by Nökkvi Thórisson's first St. Louis City SC goal in the 85th. Dallas would claw back a stoppage time goal, but St. Louis City SC took the win 2–1 to split the season's meetings.[48]
September
St. Louis City SC's first-ever visit to Sporting KC came in a Labor Day weekend matchup Sep 2. Sam Adeniran got scoring started in the 22nd minute to put St. Louis City SC up 1–0, but two goals by Alan Pulido sent SKC into half with a 2–1 lead. That score would stand, but not without controversy. A second half equalizer by Adeniran was called back for being offside, however it was not reviewed by either VAR or the referee. Replays suggest he was indeed onside and the goal should have stood. Later, an apparent SKC handball in the box was missed and not reviewed.[49]
Coming off that tight game, St. Louis City SC traveled to the west coast for a Sep 10 matchup against LA Galaxy. In what was probably the best half of soccer all season, St. Louis City SC jumped out to a 2–0 lead on goals by Sam Adeniran (4’) and Klauss (28’). Things unraveled in the second half, however. In a string of bad luck, Sam Adeniran was given a yellow card for a handball in the box and LA converted the resulting PK. Less than ten minutes later, Adeniran again was called for a yellow and sent off. St. Louis City SC, now playing down a man tried to hold on, but conceded the equalizer late and left LA with a 2–2 draw.[50]
A third straight road game, a tough match at Houston Dynamo on Sep 16, followed. Houston took a 1–0 lead into halftime and seemed capable of holding that scoreline for the entire game. Yet a late goal by Klauss (88’) would prove to secure a second consecutive road draw at 1–1.[51]
Coming back to CityPark for a midweek matchup Sep 20 against LAFC, St. Louis City SC had a chance to secure a playoff spot with a win. However, both teams played tight to a 0–0 draw. It was Roman Bürki's 8th clean sheet of the season. Following the game, results elsewhere around the league came together to indeed secure St. Louis City SC's playoff berth — the sixth expansion team to do so.[52][53]
A quick turnaround saw St. Louis City SC back on the road Sep 23 for a Matchday 31 revenge game at Minnesota United FC. In a downpour from start to finish, Minnesota took a 1–0 lead on a PK given up by Bürki moments into the second half. However, shortly after coming on as a sub in the 58th minute, Klauss equalized with a header in the 64th. Less than ten minutes later, Njabulo Blom (73’) would give St. Louis City SC the lead and the win with his first goal of the season (and which would win Goal of the Matchday).[54]
In a month bookended by matches with Sporting KC, September was capped off with a Sep 30 meeting between the two for the second time at CityPark, and third time on the season. A tight game for much of the match was broken open quickly with a Sam Adeniran goal in the 73rd minute. The floodgates then burst with three more goals: one by Jared Stroud (75’) and two by Klauss (79’ and 85’). With the game in hand, St. Louis City SC looked to close out another 4–0 win over Kansas at CityPark. However, a goal at the death made it 4–1 and denied Bürki a 9th Clean Sheet on the season. The win would be St. Louis City SC's 17th on the season, most ever by an expansion team. It also gave them 56 points, good for second-most ever by an expansion team (2018 LAFC 57pts).[55][56][57] Furthermore, with LAFC's loss to Real Salt Lake the next day, St. Louis City SC clinched the #1 seed in the Western Conference — the first expansion team ever to accomplish the feat.[58][59]
October
Undefeated in five games for the second time on the season, St. Louis City SC headed to Vancouver Whitecaps FC Oct 4 to try to stretch it to six. However, having secured their season accolades, St. Louis City SC seemed to take their foot off the gas and played all game on the back heel. The first half ended 0–0 despite two disallowed Vancouver goals. But Vancouver came out in the second half with purpose and took the game 3–0. St. Louis City SC were never the same after.[60]
Two and half weeks later, the Seattle Sounders FC came into CityPark for Decision Day (the final day of the regular season) Oct 21. However, the malaise from Vancouver earlier in the month carried over. Seattle went up 1–0 in the 23rd minute and then benefitted from a Tim Parker own goal in the 38th. They would hold on to win the game 2–0, thwarting St. Louis City SC's chance to tie or overtake LAFC's 57 points in their inaugural 2018 season.[61]
MLS Cup
The 2023 version of MLS Cup initiated a new structure which saw a total of 9 teams from each conference qualify. The Nos. 8 and 9 teams in each conference played each other in a play-in game, with the winner going on to play the #1 seed in the First Round. That First Round was a best-of-3 matchup, with games 1 and 3 at the higher seed and game 2 at the lower seed.[62] As the #1 seed, St. Louis City SC would play Sporting KC as their First Round opponent.
St. Louis City SC's first-ever playoff appearance came Oct 30 against Sporting KC on a cold and rainy night in St. Louis. It was already their 4th matchup in the rivalry's short existence. At first it seemed these two would play a tight game. SKC went up 1–0 in the 27th minute, but St. Louis City SC responded a minute later with Tim Parker scoring St. Louis City SC's first playoff goal in franchise history (28') off a corner kick. Unfortunately though, St. Louis City SC's late-season funk came right back to haunt them. Two more first-half goals followed for SKC as they took control of the game into halftime. SKC added a 4th goal in the 61st minute and won Game 1 by a score of 4–1.[63]
November
In their 5th matchup of the season, St. Louis City SC traveled west to Kansas for Game 2 of Round 1 of MLS Cup. Much of the first half was tight and looked to be going into halftime tied. However SKC scored in stoppage time to make it 1–0. A 73rd-minute goal gave SKC a lead it wouldn't relinquish, despite a Célio Pompeu goal in the 86th and a flurry of offense for 12 minutes of stoppage time. SKC ended St. Louis City SC's season with a 2–1 loss, its fourth straight.[64]
Note: Flags indicate national team as defined under FIFA eligibility rules; some limited exceptions apply. Players may hold more than one non-FIFA nationality.