Katie O'Kane secures brace with spectacular go-ahead goal
Katie O'Kane (Racing Louisville FC) with a Spectacular Goal vs. Portland Thorns FC, 05/09/2026
Open source video →Portland Thorns FC and Racing Louisville FC completed their 2026 NWSL match at Lynn Family Stadium on May 8, 2026. The final score was Portland Thorns FC 1–3 Racing Louisville FC. This page keeps the result, viewing information, current table snapshot and the other 2026 meeting together.
Louisville, Kentucky, USA
Open venue in Google Maps →Watch 6 available highlights from this completed NWSL match, including the match recap, goals and notable plays supplied with the final game record.
Katie O'Kane (Racing Louisville FC) with a Spectacular Goal vs. Portland Thorns FC, 05/09/2026
Open source video →Watch the Game Highlights from Racing Louisville FC vs. Portland Thorns FC, 05/09/2026
Open source video →Compare the final team numbers from this May 8, 2026 NWSL match, then jump to the goals, cards, substitutions, lineups and player leaders.
Follow the important moments in match order. Routine stoppages and duplicate delay notices are left out so the decisive action is easier to scan.
Kickoff
Goal! Racing Louisville 0, Portland Thorns 1. Sophia Wilson (Portland Thorns) left footed shot from the centre of the box to the bottom left corner. Assisted by Olivia Moultrie with a through ball.
Goal! Racing Louisville 1, Portland Thorns 1. Katie O'Kane (Racing Louisville) right footed shot from the centre of the box to the centre of the goal. Assisted by Lauren Milliet.
Kayla Fischer (Racing Louisville) is shown the yellow card for a bad foul.
First Half ends, Racing Louisville 1, Portland Thorns 1.
Substitution, Portland Thorns. Mimi Alidou replaces Reilyn Turner.
Start 2nd Half
Substitution, Portland Thorns. Deyna Castellanos replaces Cassandra Bogere.
Substitution, Racing Louisville. Emma Sears replaces Makenna Morris.
Substitution, Portland Thorns. Marie Müller replaces Pietra Tordin.
Substitution, Racing Louisville. Maja Lardner replaces Sarah Weber.
Taylor Flint (Racing Louisville) is shown the yellow card for a bad foul.
Sam Hiatt (Portland Thorns) is shown the yellow card for a bad foul.
Substitution, Racing Louisville. Macey Hodge replaces Kayla Fischer.
Substitution, Racing Louisville. Audrey McKeen replaces Ella Hase.
Substitution, Portland Thorns. Jayden Perry replaces M.A. Vignola.
Substitution, Portland Thorns. Maddie Padelski replaces Reyna Reyes.
Goal! Racing Louisville 3, Portland Thorns 1. Emma Sears (Racing Louisville) right footed shot from outside the box to the bottom left corner.
Second Half ends, Racing Louisville 3, Portland Thorns 1.
See both starting lineups, listed positions and available substitutes from the final match record.
These leaders highlight the players who topped their team in shooting, passing, defending or goalkeeping during this match.






Review the latest recorded match updates, shown from the final whistle backward for faster postgame reading.
Racing Louisville FC won Portland Thorns FC 1–3 Racing Louisville FC at home. The score shown here is the recorded final result; team records and positions below use the site's latest standings snapshot rather than a pre-match table.
Seattle is the opponent many Portland supporters look for first. Use the team filter within this page to isolate both Reign meetings and compare the home and away venues.
Racing's last league match before the World Cup-period pause was scheduled for May 29, with regular-season play resuming in July. That gap is expected in the official calendar.
The final score is fixed on this page, but current standings and recent form continue to update after later matches. Use the two team-schedule links to see what came next.
Season context was researched separately from the Portland Thorns 2026 schedule announcement and the Racing Louisville FC 2026 schedule announcement. Live schedule data and the recorded result take priority over release-day details.
Across completed 2026 meetings currently in the schedule, Portland Thorns FC has 1 win, Racing Louisville FC has 1 win, and 0 finished level. The other listed meeting was Racing Louisville FC 0–4 Portland Thorns FC on July 5, 2026.
Portland Thorns FC 1–3 Racing Louisville FC
Lynn Family Stadium
Racing Louisville FC 0–4 Portland Thorns FC
Providence Park
Open the other meeting →These are current site values, included to help compare the teams. They should not be read as a historical snapshot from the original match date.
Portland Thorns FC is currently #6 with 50 points from 30 matches (14 wins, 8 draws, 8 losses). Recent form: W W W D W.
Racing Louisville FC is currently #15 with 24 points from 30 matches (7 wins, 3 draws, 20 losses). Recent form: L L W L L.
Portland Thorns FC has the higher current points total, with a gap of 26 points between the clubs.
Use the side-by-side numbers to compare possession, shots, passing, discipline and defensive work without opening a separate box score.
The match timeline keeps goals, cards and substitutions in chronological order while removing routine delay notices.
Review both starting formations and available substitutes, then watch any verified postgame videos attached to this result.
The recorded final score was Portland Thorns FC 1–3 Racing Louisville FC on May 8, 2026.
The current schedule lists NWSL+. Availability, subscription requirements and international rights can vary by service and location.
The listed venue is Lynn Family Stadium, at Louisville, Kentucky, USA. Check the venue line again before traveling.
The other listed meeting was Racing Louisville FC 0–4 Portland Thorns FC on July 5, 2026.
Show latest 30 of 117 commentary updates
Match ends, Racing Louisville 3, Portland Thorns 1.
Second Half ends, Racing Louisville 3, Portland Thorns 1.
Goal! Racing Louisville 3, Portland Thorns 1. Emma Sears (Racing Louisville) right footed shot from outside the box to the bottom left corner.
Attempt saved. Olivia Moultrie (Portland Thorns) left footed shot from outside the box is saved in the top centre of the goal by Jordyn Bloomer (Racing Louisville). Assisted by Sophia Wilson.
Corner, Portland Thorns. Conceded by Courtney Petersen.
Attempt blocked. Olivia Moultrie (Portland Thorns) right footed shot from the centre of the box is blocked.
Attempt blocked. Sophia Wilson (Portland Thorns) right footed shot from outside the box is blocked. Assisted by Maddie Padelski.
Delay over. They are ready to continue.
Delay in match because of an injury Lauren Milliet (Racing Louisville).
Foul by Lauren Milliet (Racing Louisville).
Jayden Perry (Portland Thorns) wins a free kick in the defensive half.
Fourth official has announced 6 minutes of added time.
Substitution, Portland Thorns. Maddie Padelski replaces Reyna Reyes.
Substitution, Portland Thorns. Jayden Perry replaces M.A. Vignola.
Delay over. They are ready to continue.
Delay in match because of an injury Mimi Alidou (Portland Thorns).
Delay in match because of an injury Lauren Milliet (Racing Louisville).
Substitution, Racing Louisville. Audrey McKeen replaces Ella Hase.
Substitution, Racing Louisville. Macey Hodge replaces Kayla Fischer.
Kayla Fischer (Racing Louisville) wins a free kick in the attacking half.
Foul by M.A. Vignola (Portland Thorns).
Attempt missed. Kayla Fischer (Racing Louisville) right footed shot from outside the box misses to the left. Assisted by Quincy McMahon.
Attempt missed. Sophia Wilson (Portland Thorns) left footed shot from outside the box is just a bit too high. Assisted by Olivia Moultrie.
Goal! Racing Louisville 2, Portland Thorns 1. Katie O'Kane (Racing Louisville) from a free kick with a right footed shot to the top right corner.
Sam Hiatt (Portland Thorns) is shown the yellow card for a bad foul.
Ella Hase (Racing Louisville) wins a free kick on the left wing.
Foul by Sam Hiatt (Portland Thorns).
Attempt saved. Olivia Moultrie (Portland Thorns) right footed shot from outside the box is saved in the top left corner by Jordyn Bloomer (Racing Louisville).
Taylor Flint (Racing Louisville) is shown the yellow card for a bad foul.
Olivia Moultrie (Portland Thorns) wins a free kick in the attacking half.