World Cup 2026: We’re Following Every Match So You Don’t Miss a Thing
Contents

The groups to watch

Group J – The headliner

Argentina vs. Algeria kicks off on June 16 – and it’s Lionel Messi’s sixth World Cup campaign. Argentina are the defending champions and one of the clear favourites. Algeria are no pushovers but Messi and company should have enough to advance. The real test comes later.

Group L – The grudge match

England vs. Croatia on June 17 is a rematch nobody on either side has forgotten. Croatia beat England 2-1 in extra time in the 2018 semi-final in Moscow. England have Harry Kane, one of the best strikers in the world, and a squad deep enough to go far. Croatia still have Luka Modric, who is somehow 40 years old and still doing Luka Modric things.

Group H – Spain’s coronation?

Spain are the tournament favourites – the Opta supercomputer puts them at around 16% across 25,000 simulations, the highest of any team. Their group has Saudi Arabia and World Cup debutants Cape Verde alongside Uruguay, who will test them. But Spain look formidable. Young, technical, and battle-hardened from winning Euro 2024.

Group I – The france question

France have Kylian Mbappe, who many expect to win the Golden Boot. Their group includes Senegal, Iraq, and Norway. They should advance easily. The real question is whether France can hold it together in the knockouts, where they’ve stumbled before despite the talent.

Group F – Don’t sleep on the Netherlands

The Netherlands open against Croatia in what could decide Group F early. Louis van Gaal’s side are built to be awkward against anyone. Croatia, despite the age in the squad, are tournament veterans. This is one of the tactically interesting groups.

Opening Day – June 11

Mexico 2-0 South Africa (FT) – Group A

What a way to open a World Cup. 80,824 fans packed into the Azteca, Shakira had just performed on that same pitch, and Mexico delivered – though the match descended into something nobody quite expected by the end.

Julián Quiñones scored the first goal of the 2026 World Cup in the 9th minute, intercepting a poor touch from Sithole near the South Africa penalty area and finishing calmly. The earliest opening goal of a World Cup since 2006. Erik Lira with the assist.

It stayed 1-0 at the break, and then the second half went a bit mad.

South Africa’s Sithole was shown a straight red on 49 minutes. Mexico doubled their lead on 67 when Raúl Jiménez, the man who had never scored at a World Cup across all his previous appearances, headed home from a Roberto Alvarado assist. He was in tears. The Azteca went delirious.

Then came the chaos. Zwane got a second red for South Africa on 84 minutes – a decision that had pundits split, with Ally McCoist calling it “extremely harsh.” Barely six minutes later, Mexico’s Cesar Montes was also sent off for denying a goalscoring opportunity, another contentious call. Three straight reds. More red cards than goals.

Three players dismissed. VAR controversy. An emotional debut World Cup goal. A chaotic, memorable opener – and Mexico top of Group A with three points.

Goals: Quiñones (9′), Jiménez (67′) Red cards: Sithole (49′), Zwane (84′) – South Africa; Montes (90+2′) – Mexico

South Korea vs. Czechia – Group A – 10 p.m. ET

If Mexico vs South Africa was chaotic, this one was tense, well-played, and decided by a proper comeback.

Czechia took the lead on 59 minutes through Ladislav Krejčí – the same man who scored the crucial goal that sent Czechia to this tournament via the play-off against Denmark. South Korea looked shaky. Then Hwang In-beom equalised on 67 minutes with a goal built on a 25-pass sequence, one of the longest passing moves to produce a goal in World Cup history. He also assisted the winner. The substitute Oh Hyeon-gyu came off the bench and headed home on 80 minutes to complete the turnaround.

Son Heung-min didn’t score but was everywhere – and became only the second South Korean to appear at four separate World Cups, joining current manager Hong Myung-bo. Kim Seung-gyu made a stunning late save to deny an equaliser and keep the clean sheet intact when it mattered most.

South Korea come from behind to win. Group A is already fascinating: Mexico on 3 points, South Korea on 3, South Africa and Czechia on 0. Both losers meet each other next, on June 18.

Goals: Krejčí (59′) – Czechia; Hwang In-beom (67′), Oh Hyeon-gyu (80′) – South Korea

Match Centre · Built from the response Intl Friendly
Mexico
Mexico
2
0
Full Time
11 Jun 2026 · International Friendly
South Africa
South Africa
Goal 9' Quiñones
Goal 67' Jiménez
No goals
César Montes
90'+2
84'
Themba Zwane
Alexis Vega Julián Quiñones
79'
77'
Oswin Appollis Aubrey Modiba
Edson Álvarez Érik Lira
76'
Armando González Raúl Jiménez
76'
76'
Evidence Makgopa Iqraam Rayners
74'
Nkosinathi Sibisi
Raúl Jiménez Goal 2–0 · assist Alvarado
67'
Luis Chávez Brian Gutiérrez
66'
Gilberto Mora Álvaro Fidalgo
66'
61'
Themba Zwane Jayden Adams
56'
Thalente Mbatha Lyle Foster
49'
Yaya Sithole
Brian Gutiérrez
23'
17'
Teboho Mokoena
Julián Quiñones Goal 1–0 · assist Lira
9'
Mexico Mexico
1Raúl Rangel
15Israel Reyes
3César Montes
5Johan Vásquez
23Jesús Gallardo
6Érik Lira
25Roberto Alvarado
26Brian Gutiérrez
8Álvaro Fidalgo
16Julián QuiñonesGoal
9Raúl JiménezGoal
South Africa South Africa
1Ronwen Williams
6Aubrey Modiba
14Mbekezeli Mbokazi
21Ime Okon
19Nkosinathi Sibisi
20Khuliso Mudau
23Jayden Adams
13Yaya Sithole
4Teboho Mokoena
9Lyle Foster
15Iqraam Rayners
61%Ball Possession39%
16Total Shots3
4Shots on Target2
1.29Expected Goals (xG)0.07
520Total Passes334
90%Pass Accuracy81%
3Corners1
12Fouls11
1Offsides1
1Yellow Cards2
1Red Cards2
Pre-match · Full Time Result
Mexico
40.2%
Draw
27.8%
South Africa
32.0%
Both Teams to Score
Yes
46.8%
No
53.3%
Total Goals
Over 2.5
42.4%
Under 2.5
57.6%
Top Correct Scores
1–1
13.2%
1–0
12.1%
0–1
10.0%
2–1
8.4%
Model read it well. Pre-match favoured Mexico (40.2%) over South Africa (32.0%), with Under 2.5 (57.6%) and BTTS-No (53.3%) both leaning the right way. Final score 2–0: under 2.5 goals ✓, no BTTS ✓, Mexico win ✓ — the favoured outcome on all three markets.
GET /v3/football/fixtures/19609127?include=lineups.player;events;statistics;xgfixture;predictions 200 OK
{
  "data": {
    "id": 19609127,
    "league_id": 732,
    "season_id": 26618,
    "venue_id": 1599,
    "name": "Mexico vs South Africa",
    "starting_at": "2026-06-11 19:00:00",
    "result_info": "Mexico won after full-time.",
    "xgfixture": [
      { "participant_id": 18576, "location": "home", "data": { "value": 1.29 } },
      { "participant_id": 18555, "location": "away", "data": { "value": 0.07 } }
    ],
    "lineups": [
      {
        "player_id": 254057, "team_id": 18576,
        "player_name": "Julián Quiñones", "jersey_number": 16,
        "type_id": 11, "formation_position": 10,
        "player": { "image_path": "https://cdn.sportmonks.com/images/soccer/players/9/254057.png" }
      },
      {
        "player_id": 160217, "team_id": 18576,
        "player_name": "Raúl Jiménez", "jersey_number": 9,
        "type_id": 11, "formation_position": 11,
        "player": { "image_path": "https://cdn.sportmonks.com/images/soccer/players/25/160217.png" }
      },
      // … 50 more lineup entries (full XI + bench, both teams)
      {
        "player_id": 287894, "team_id": 18555,
        "player_name": "Ronwen Williams", "jersey_number": 1,
        "type_id": 11, "formation_position": 1,
        "player": { "image_path": "https://cdn.sportmonks.com/images/soccer/players/22/287894.png" }
      }
    ],
    "events": [
      { "minute": 9,  "type_id": 14, "participant_id": 18576, "player_name": "Julián Quiñones", "related_player_name": "Érik Lira", "result": "1-0" },
      { "minute": 17, "type_id": 19, "participant_id": 18555, "player_name": "Teboho Mokoena" },
      { "minute": 49, "type_id": 20, "participant_id": 18555, "player_name": "Yaya Sithole" },
      { "minute": 67, "type_id": 14, "participant_id": 18576, "player_name": "Raúl Jiménez", "related_player_name": "Roberto Alvarado", "result": "2-0" },
      // … 14 more events (subs, cards through 90+2')
    ],
    "statistics": [
      { "type_id": 45, "location": "home", "data": { "value": 61 } },  /* Possession */
      { "type_id": 45, "location": "away", "data": { "value": 39 } },
      { "type_id": 42, "location": "home", "data": { "value": 16 } },  /* Shots Total */
      { "type_id": 42, "location": "away", "data": { "value": 3 } },
      { "type_id": 80, "location": "home", "data": { "value": 520 } }, /* Passes */
      { "type_id": 80, "location": "away", "data": { "value": 334 } },
      // … 78 more bilateral stat entries (corners, fouls, cards, xG, …)
    ],
    "predictions": [
      { "type_id": 237, "predictions": { "home": 40.23, "draw": 27.78, "away": 31.96 } },  /* FT Result */
      { "type_id": 231, "predictions": { "yes": 46.75, "no": 53.25 } },                            /* BTTS */
      { "type_id": 235, "predictions": { "yes": 42.36, "no": 57.64 } },                            /* Over 2.5 */
      { "type_id": 240, "predictions": { "scores": { "1-1": 13.16, "1-0": 12.10, "0-1": 10.00, /* … */ } }
    ]
  }
}

Day 2 – June 12

Canada 1-1 Bosnia and Herzegovina – Group B

Michael Bublé and Alanis Morissette performed before kick-off at Toronto Stadium. Canada then proceeded to go a goal down and look like they might ruin the party entirely.

Jovo Lukić headed Bosnia in front on 21 minutes and Les Rouges couldn’t find a way through for the best part of an hour. Then Jesse Marsch brought Cyle Larin off the bench, and 121 seconds later Larin had finished a sharp move assisted by Akinpelu to make it 1-1. Canada’s first ever World Cup point, on home soil. The Azteca moment for Toronto – the whole stadium erupted. It was deserved too, with Canada’s xG edging Bosnia’s across the 90.

A draw both sides will probably take, but Canada will feel they let two points slip. Bosnia’s Edin Džeko, 40 years old, looked dangerous in patches.

Goals: Lukić (21′) – Bosnia; Larin (78′) – Canada

USA 4-1 Paraguay – Group D

The Americans played the best first half they may have ever produced at a World Cup. An own goal from Bobadilla in the 7th minute – the fastest goal the USMNT have ever scored at a World Cup. Then Balogun doubled it on 30 after a Pulisic feed. Then Balogun again in first-half stoppage time. 3-0 at half-time, SoFi Stadium absolutely rocking in Los Angeles.

The second half was messier. Paraguay pulled one back through Mauricio on 73 minutes when the US defence switched off. Pulisic went off injured, though reports post-match suggest he’s fine. Gio Reyna then came off the bench and curled a fourth into the far corner in stoppage time with the outside of his right boot, the kind of goal that makes a country fall in love with a player all over again.

4-1. The USMNT made a statement. Group D is shaping up to be wide open.

Goals: Bobadilla OG (7′), Balogun (30′, 45+’), Reyna (90+8′) – USA; Mauricio (73′) – Paraguay

Match Centre · Built from the response FIFA World Cup 2026
Canada
Canada
1
1
Full Time
12 Jun 2026 · WC2026
Bosnia and Herzegovina
Bosnia & Herzegovina
Goal 78' Larin
Goal 21' Lukic
90'+3
Nikola Katic
Jonathan Osorio Stephen Eustaquio
90'+1
84'
Dzenis Burnic Sead Kolasinac
Cyle Larin Goal 1–1 · assist Promise David
78'
Cyle Larin Tani Oluwaseyi
76'
74'
Ivan Sunjic Esmir Bajraktarevic
74'
Kerim Alajbegovic Amar Memic
62'
Armin Gigovic Ivan Basic
62'
Samed Bazdar Jovo Lukic
Jacob Shaffelburg Liam Millar
61'
Promise David Jonathan David
61'
Ali Ahmed Tajon Buchanan
61'
Luc De Fougerolles
53'
45'+1
Jovo Lukic
45'
Ermedin Demirovic
21'
Goal Jovo Lukic 0–1 · header · assist Kolasinac
Alistair Johnston
11'
Canada Canada
16Maxime Crépeau
2Alistair Johnston
4Luc De Fougerolles
13Derek Cornelius
22Richie Laryea
17Tajon Buchanan
8Ismaël Koné
7Stephen EustaquioC
11Liam Millar
10Jonathan David
12Tani Oluwaseyi
Bosnia and Herzegovina Bosnia & Herzegovina
1Nikola Vasilj
5Sead KolasinacC
4Tarik Muharemović
18Nikola Katic
7Amar Dedić
15Amar Memic
13Ivan Basic
6Benjamin Tahirović
20Esmir Bajraktarevic
25Jovo LukicGoal
10Ermedin Demirovic
61%Ball Possession39%
13Total Shots8
4Shots on Target3
1.46Expected Goals (xG)1.04
421Total Passes271
73.6%Pass Accuracy63.5%
9Corners4
23Tackles20
2Saves1
10Fouls20
2Yellow Cards3
4Interceptions11
Pre-match · Full Time Result
Canada
50.8%
Draw
26.5%
Bosnia
22.7%
Both Teams to Score
Yes
44.8%
No
55.2%
Total Goals
Over 2.5
70.0%
Under 2.5
30.0%
Model read the goals market wrong. Pre-match put Over 2.5 at 70.0% and BTTS-No at 55.2%. Final score 1–1: only 2 goals - under 2.5 ✓, BTTS yes ✗. Canada were firm favourites at 50.8% but the match ended level. The model captured Canada's dominance in xG (1.46 vs 1.04) but Bosnia's early goal and resilience produced the draw.
GET /v3/football/fixtures/19609154?include=participants;scores;lineups.player;events;statistics;xgfixture;predictions 200 OK
{
  "data": {
    "id": 19609154,
    "league_id": 732,
    "season_id": 26618,
    "name": "Canada vs Bosnia and Herzegovina",
    "starting_at": "2026-06-12 19:00:00",
    "result_info": "The match ended in a draw.",
    "xgfixture": [
      { "participant_id": 18572, "location": "home", "data": { "value": 1.4558 } },
      { "participant_id": 18625, "location": "away", "data": { "value": 1.0361 } }
    ],
    "scores": [
      { "description": "CURRENT", "score": { "participant": "home", "goals": 1 } },
      { "description": "CURRENT", "score": { "participant": "away", "goals": 1 } }
    ],
    "lineups": [
      {
        "player_id": 262142, "team_id": 18572,
        "player_name": "Maxime Crépeau", "jersey_number": 16,
        "type_id": 11, "formation_field": "1:1",
        "player": { "image_path": "https://cdn.sportmonks.com/images/soccer/players/30/262142.png" }
      },
      {
        "player_id": 13171226, "team_id": 18625,
        "player_name": "Jovo Lukic", "jersey_number": 25,
        "type_id": 11, "formation_field": "4:1",
        "player": { "image_path": "https://cdn.sportmonks.com/images/soccer/players/26/13171226.png" }
      },
      // … 20 more lineup entries (full XI both teams)
    ],
    "events": [
      { "minute": 11,  "type_id": 19, "participant_id": 18572, "player_name": "Alistair Johnston" },
      { "minute": 21,  "type_id": 14, "participant_id": 18625, "player_name": "Jovo Lukic", "related_player_name": "Sead Kolasinac", "result": "0-1" },
      { "minute": 45,  "type_id": 19, "participant_id": 18625, "player_name": "Ermedin Demirovic" },
      { "minute": 45, "extra_minute": 1, "type_id": 19, "participant_id": 18625, "player_name": "Jovo Lukic" },
      { "minute": 53,  "type_id": 19, "participant_id": 18572, "player_name": "Luc De Fougerolles" },
      { "minute": 78,  "type_id": 14, "participant_id": 18572, "player_name": "Cyle Larin", "related_player_name": "Promise David", "result": "1-1" },
      { "minute": 90, "extra_minute": 3, "type_id": 19, "participant_id": 18625, "player_name": "Nikola Katic" },
      // … 10 substitution events (type_id 18)
    ],
    "statistics": [
      { "type_id": 45, "location": "home", "data": { "value": 61 } },  /* Possession */
      { "type_id": 45, "location": "away", "data": { "value": 39 } },
      { "type_id": 42, "location": "home", "data": { "value": 13 } },  /* Shots Total */
      { "type_id": 42, "location": "away", "data": { "value": 8 } },
      { "type_id": 86, "location": "home", "data": { "value": 4 } },  /* Shots on Target */
      { "type_id": 86, "location": "away", "data": { "value": 3 } },
      { "type_id": 34, "location": "home", "data": { "value": 9 } },  /* Corners */
      { "type_id": 34, "location": "away", "data": { "value": 4 } },
      { "type_id": 56, "location": "home", "data": { "value": 10 } }, /* Fouls */
      { "type_id": 56, "location": "away", "data": { "value": 20 } },
      { "type_id": 80, "location": "home", "data": { "value": 421 } }, /* Passes */
      { "type_id": 80, "location": "away", "data": { "value": 271 } },
      { "type_id": 81, "location": "home", "data": { "value": 310 } }, /* Accurate Passes */
      { "type_id": 81, "location": "away", "data": { "value": 172 } },
      // … 80+ more bilateral stat entries (tackles, saves, cards, …)
    ],
    "predictions": [
      { "type_id": 237, "predictions": { "home": 50.78, "draw": 26.5, "away": 22.72 } },  /* FT Result */
      { "type_id": 231, "predictions": { "yes": 44.82, "no": 55.18 } },                            /* BTTS */
      { "type_id": 234, "predictions": { "yes": 69.96, "no": 30.04 } }                            /* Over 2.5 */
    ]
  }
}

Day 3 – June 13

Qatar 1-1 Switzerland – Group B

Switzerland dominated and hit the post in the first half. Then Breel Embolo gave them the lead from the penalty spot on 17 minutes. They had 23 shots. They had xG to spare. And then in stoppage time, Boualem Khoukhi headed home for Qatar to steal a draw that nobody in that stadium saw coming. Last-gasp drama, a point for the defending hosts, and Switzerland left kicking themselves.

Goals: Embolo (17′ pen) – Switzerland; Khoukhi (90+’) – Qatar

Brazil 1-1 Morocco – Group C

The match everyone had circled on the schedule, and it delivered a tense, hard-fought draw rather than a classic. Brazil and Morocco battled to a 1-1 draw in what was easily the most anticipated Group C fixture. Morocco showed why they’re no longer anyone’s surprise package – they came to New Jersey with a defensive structure and an attacking threat. Brazil left frustrated, still searching for that fluency Vinicius Jr and company are supposed to provide.

Goals: Vinícius Júnior (32′) – Brazil; Ismael Saibari (21′) – Morocco

Haiti 0-1 Scotland – Group C

Scotland’s first World Cup in 28 years. The weight of that history was everywhere – in the faces of the players, in the commentary, in every social media post from the travelling support in Boston.

John McGinn scored in the 28th minute, finishing a rebound after Che Adams was denied following a long ball from Grant Hanley. Scotland held firm for the rest of the match. Haiti had possession but couldn’t find a way through. 1-0. Three points. Scotland top of Group C. Twenty-eight years of hurt, and now they have something to build on.

Goals: McGinn (28′) – Scotland

Australia 2-0 Türkiye – Group D

The day’s biggest stunner. Australia took an early lead on a counter through a brilliant first touch and finish by Nestory Irankunda in the 27th minute, then doubled it in the 75th through Connor Metcalfe from just outside the box. Türkiye, for all their talent, couldn’t find a way back. Australia join the USA on three points at the top of Group D. That group is now one of the tournament’s most fascinating.

Goals: Irankunda (27′), Metcalfe (75′) – Australia

Match Centre · Built from the response FIFA World Cup 2026
Brazil
Brazil
1
1
Full Time
13 Jun 2026 · WC2026
Morocco
Morocco
Goal 32' Vinicius Jr
Goal 21' Saibari
89'
Soufiane Rahimi Ismael Saibari
Danilo Bruno Guimarães
80'
80'
A. Amaimouni Bilal El Khannouss
80'
A. Salah-Eddine Noussair Mazraoui
65'
Samir El Mourabet Azzedine Ounahi
65'
Chemsdine Talbi Brahim Díaz
Luiz Henrique Igor Thiago
62'
Matheus Cunha Lucas Paquetá
61'
Fabinho Casemiro
46'
Danilo Roger Ibañez
46'
Roger Ibañez
43'
Casemiro
37'
Vinicius Junior Goal 1–1 · right foot · assist Bruno G
32'
21'
Goal Ismael Saibari 0–1 · right foot · assist Díaz
Brazil Brazil
1Alisson
24Roger Ibañez
4MarquinhosC
3Gabriel
16Douglas Santos
5Casemiro
8Bruno Guimarães
20Lucas Paquetá
11Raphinha
25Igor Thiago
7Vinicius JuniorGoal
Morocco Morocco
1Yassine Bounou
3Noussair Mazraoui
18Chadi Riad
14Issa Diop
2Achraf HakimiC
6Ayyoub Bouaddi
24Neil El Aynaoui
23Bilal El Khannouss
8Azzedine Ounahi
10Brahim Díaz
11Ismael SaibariGoal
51%Ball Possession49%
12Total Shots14
5Shots on Target3
1.14Expected Goals (xG)0.75
514Total Passes486
87%Pass Accuracy86%
6Corners2
23Tackles26
2Saves4
16Fouls14
2Yellow Cards0
3Shots Blocked6
Pre-match · Full Time Result
Brazil
41.7%
Draw
26.8%
Morocco
31.5%
Both Teams to Score
Yes
49.7%
No
50.4%
The model underrated Morocco. Brazil were favoured at 41.7% but a draw (26.8%) was the actual outcome. Morocco struck first via Saibari (21') and held the lead until Vinicius Junior levelled (32'). BTTS was called almost coin-flip at 49.7% yes — and both teams scored ✓. Brazil's xG edge (1.14 vs 0.75) reflected more dangerous chances, but Morocco's 4 saves from Bounou compared to Brazil's 2 tells the story.
GET /v3/football/fixtures/19609131?include=participants;scores;lineups.player;events;statistics;xgfixture;predictions 200 OK
{
  "data": {
    "id": 19609131,
    "league_id": 732,
    "season_id": 26618,
    "name": "Brazil vs Morocco",
    "starting_at": "2026-06-13 22:00:00",
    "result_info": "Game ended in draw.",
    "xgfixture": [
      { "participant_id": 18704, "location": "home", "data": { "value": 1.1387 } },
      { "participant_id": 18551, "location": "away", "data": { "value": 0.7507 } }
    ],
    "scores": [
      { "description": "CURRENT", "score": { "participant": "home", "goals": 1 } },
      { "description": "CURRENT", "score": { "participant": "away", "goals": 1 } },
      { "description": "1ST_HALF", "score": { "participant": "home", "goals": 1 } },
      { "description": "1ST_HALF", "score": { "participant": "away", "goals": 1 } }
    ],
    "lineups": [
      {
        "player_id": 129820, "team_id": 18704,
        "player_name": "Alisson", "jersey_number": 1,
        "type_id": 11, "formation_field": "1:1",
        "player": { "image_path": "https://cdn.sportmonks.com/images/soccer/players/28/129820.png" }
      },
      {
        "player_id": 37317434, "team_id": 18551,
        "player_name": "Ismael Saibari", "jersey_number": 11,
        "type_id": 11, "formation_field": "5:1",
        "player": { "image_path": "https://cdn.sportmonks.com/images/soccer/players/26/37317434.png" }
      },
      // … 20 more lineup entries (full XI both teams)
    ],
    "events": [
      { "minute": 21, "type_id": 14, "participant_id": 18551, "player_name": "Ismael Saibari", "related_player_name": "Brahim Díaz", "result": "0-1" },
      { "minute": 32, "type_id": 14, "participant_id": 18704, "player_name": "Vinicius Junior", "related_player_name": "Bruno Guimarães", "result": "1-1" },
      { "minute": 37, "type_id": 19, "participant_id": 18704, "player_name": "Casemiro" },
      { "minute": 43, "type_id": 19, "participant_id": 18704, "player_name": "Roger Ibañez" },
      // … substitution events (type_id 18) at 46', 61', 62', 65', 80', 89'
    ],
    "statistics": [
      { "type_id": 45, "location": "home", "data": { "value": 51 } },  /* Possession % */
      { "type_id": 45, "location": "away", "data": { "value": 49 } },
      { "type_id": 42, "location": "home", "data": { "value": 12 } },  /* Shots Total */
      { "type_id": 42, "location": "away", "data": { "value": 14 } },
      { "type_id": 86, "location": "home", "data": { "value": 5 } },  /* Shots on Target */
      { "type_id": 86, "location": "away", "data": { "value": 3 } },
      { "type_id": 56, "location": "home", "data": { "value": 16 } }, /* Fouls */
      { "type_id": 56, "location": "away", "data": { "value": 14 } },
      { "type_id": 80, "location": "home", "data": { "value": 514 } }, /* Passes */
      { "type_id": 80, "location": "away", "data": { "value": 486 } },
      { "type_id": 81, "location": "home", "data": { "value": 449 } }, /* Accurate Passes */
      { "type_id": 81, "location": "away", "data": { "value": 419 } },
      { "type_id": 82, "location": "home", "data": { "value": 87 } }, /* Pass Accuracy % */
      { "type_id": 82, "location": "away", "data": { "value": 86 } },
      { "type_id": 84, "location": "home", "data": { "value": 2 } },  /* Yellow Cards */
      { "type_id": 84, "location": "away", "data": { "value": 0 } },
      { "type_id": 78, "location": "home", "data": { "value": 23 } }, /* Tackles */
      { "type_id": 78, "location": "away", "data": { "value": 26 } },
      { "type_id": 57, "location": "home", "data": { "value": 2 } },  /* Saves */
      { "type_id": 57, "location": "away", "data": { "value": 4 } },
      // … 60+ more bilateral stat entries
    ],
    "predictions": [
      { "type_id": 237, "predictions": { "home": 41.7, "draw": 26.75, "away": 31.5 } },  /* FT Result */
      { "type_id": 231, "predictions": { "yes": 49.65, "no": 50.35 } }                         /* BTTS */
    ],
    "lineups_ratings": [
      { "player_name": "Ismael Saibari",  "team_id": 18551, "rating": 7.45 },
      { "player_name": "Achraf Hakimi",   "team_id": 18551, "rating": 7.39 },
      { "player_name": "Neil El Aynaoui", "team_id": 18551, "rating": 7.34 },
      { "player_name": "Brahim Díaz",     "team_id": 18551, "rating": 7.31 },
      { "player_name": "Douglas Santos",  "team_id": 18704, "rating": 7.14 },
      { "player_name": "Marquinhos",      "team_id": 18704, "rating": 7.05 },
      { "player_name": "Lucas Paquetá",   "team_id": 18704, "rating": 6.91 },
      { "player_name": "Vinicius Junior", "team_id": 18704, "rating": 6.75 }
    ]
  }
}

Day 4 – June 14

Germany 7-1 Curaçao – Group E

Germany needed a statement. They got one.

Felix Nmecha opened the scoring just six minutes in. Germany were stunned when Livano Comenencia levelled – Curaçao’s first ever World Cup goal. For a few minutes, a nation of 160,000 people – the smallest ever to reach and score at a World Cup – held the tournament to ransom. Then Germany remembered what they were supposed to be doing. A Nico Schlotterbeck header and a Havertz penalty restored Germany’s advantage before half-time. Musiala added a fourth, Brown a fifth, Undav a sixth, and Havertz completed his brace in the 88th. 7-1. The redemption arc is well and truly underway.

Goals: Nmecha (6′), Schlotterbeck (38′), Havertz (45+5′ pen, 88′), Musiala (47′), Brown (68′), Undav (78′) – Germany; Comenencia (21′) – Curaçao

Netherlands 2-2 Japan – Group F

Game of the tournament so far. Van Dijk opened the scoring in the 51st minute. Nakamura equalised in the 57th. Summerville put the Dutch back in front in the 64th with a strike to the far corner. Then in the 89th minute, Ito took a corner, Ogawa headed towards goal, and the ball was deflected by Kamada into the net. Japan, yet again at a World Cup, refuse to be beaten. A draw that feels like a win for Japan and a loss for the Netherlands.

Goals: Van Dijk (51′), Summerville (64′) – Netherlands; Nakamura (57′), Kamada (89′) – Japan

Ivory Coast 1-0 Ecuador – Group E

A brutal game to watch for Ecuador fans. Ivory Coast barely created anything for 89 minutes. Then Amad came off the bench, received the ball well outside the box, drove in, and curled a sensational effort past the Ecuadorian goalkeeper in the 90th minute. Three points, zero mercy. Ivory Coast join Germany at the top of Group E.

Goals: Amad (90′) – Ivory Coast

Sweden 5-1 Tunisia – Group F

Two goals from Yasin Ayari, plus strikes from Alexander Isak, Viktor Gyökeres and Mattias Svanberg. The first time since 1938 that Sweden have scored five in a World Cup match. Tunisia were overwhelmed. Sweden lead Group F alongside Japan on one point each, with the Netherlands just behind on one. That group is going to be fascinating.

Goals: Ayari (2), Isak, Gyökeres, Svanberg – Sweden; one for Tunisia.

Match Centre · Built from the response FIFA World Cup 2026
Netherlands
Netherlands
2
2
Full Time
14 Jun 2026 · WC2026
Japan
Japan
Goal 51' Van Dijk
Goal 64' Summerville
Goal 57' Nakamura
Goal 89' Kamada
Micky van de Ven
90+1'
89'
Goal Daichi Kamada 2–2 · header · assist Ogawa
Brian Brobbey Cody Gakpo
85'
84'
Kento Shiogai Ayase Ueda
Memphis Depay
83'
Nathan Aké Ryan Gravenberch
81'
75'
Takehiro Tomiyasu Tsuyoshi Watanabe
75'
Yukinari Sugawara Ritsu Doan
75'
Koki Ogawa Takefusa Kubo (inj.)
Quinten Timber Tijjani Reijnders
70'
Teun Koopmeiners C. Summerville
70'
Memphis Depay Donyell Malen
70'
66'
Junya Ito Daizen Maeda
Summerville Goal 2–1 · left foot · assist Gravenberch
64'
Summerville
61'
57'
Goal Keito Nakamura 1–1 · right foot · assist Kubo
Virgil van Dijk Goal 1–0 · header · assist Gravenberch
51'
Netherlands Netherlands
1Bart Verbruggen
22Denzel Dumfries
6Jan Paul van Hecke
4Virgil van DijkCGoal
15Micky van de Ven
8Ryan Gravenberch
21Frenkie de Jong
14Tijjani Reijnders
24C. SummervilleGoal
18Donyell Malen
11Cody Gakpo
Japan Japan
1Zion Suzuki
21Hiroki Ito
3Shogo Taniguchi
16Tsuyoshi Watanabe
24Kaishu Sano
15Daichi KamadaGoal
13Keito NakamuraGoal
10Ritsu DoanC
8Takefusa Kubo
11Daizen Maeda
18Ayase Ueda
60%Ball Possession40%
10Total Shots10
6Shots on Target3
1.04Expected Goals (xG)0.49
524Total Passes341
88%Pass Accuracy84%
10Corners6
11Tackles11
1Saves4
7Fouls7
3Yellow Cards0
1Shots Blocked1
Pre-match · Full Time Result
Netherlands
44.0%
Draw
25.6%
Japan
30.5%
Both Teams to Score
Yes
54.0%
No
46.1%
The model got direction right, outcome wrong. Netherlands were favoured at 44% and led twice — Van Dijk (51', header) and Summerville (64', left foot) — but Japan equalised both times through Nakamura (57') and Kamada (89'). BTTS was called yes at 54% ✓. Netherlands dominated possession (60%), corners (10–6) and shots on target (6–3), yet Japan's 4 saves from Suzuki vs Netherlands' 1 tells the resilience story. Three Dutch yellows (Summerville, Depay, Van de Ven) added late pressure.
GET /v3/football/fixtures/19609138?include=participants;scores;lineups.player;events;statistics;xgfixture;predictions 200 OK
{
  "data": {
    "id": 19609138,
    "league_id": 732,
    "season_id": 26618,
    "name": "Netherlands vs Japan",
    "starting_at": "2026-06-14 20:00:00",
    "result_info": "Game ended in draw.",
    "xgfixture": [
      { "participant_id": 18694, "location": "home", "data": { "value": 1.0429 } },
      { "participant_id": 18597, "location": "away", "data": { "value": 0.4933 } }
    ],
    "scores": [
      { "description": "CURRENT", "score": { "participant": "home", "goals": 2 } },
      { "description": "CURRENT", "score": { "participant": "away", "goals": 2 } },
      { "description": "1ST_HALF", "score": { "participant": "home", "goals": 0 } },
      { "description": "1ST_HALF", "score": { "participant": "away", "goals": 0 } }
    ],
    "lineups": [
      {
        "player_id": 37257596, "team_id": 18694,
        "player_name": "Bart Verbruggen", "jersey_number": 1,
        "type_id": 11, "formation_field": "1:1",
        "player": { "image_path": "https://cdn.sportmonks.com/images/soccer/players/28/37257596.png" }
      },
      {
        "player_id": 5666491, "team_id": 18597,
        "player_name": "Keito Nakamura", "jersey_number": 13,
        "type_id": 11, "formation_field": "3:1",
        "player": { "image_path": "https://cdn.sportmonks.com/images/soccer/players/27/5666491.png" }
      },
      // … 20 more lineup entries (full XI both teams)
    ],
    "events": [
      { "minute": 51, "type_id": 14, "participant_id": 18694, "player_name": "Virgil van Dijk", "related_player_name": "Ryan Gravenberch", "result": "1-0" },
      { "minute": 57, "type_id": 14, "participant_id": 18597, "player_name": "Keito Nakamura", "related_player_name": "Takefusa Kubo", "result": "1-1" },
      { "minute": 61, "type_id": 19, "participant_id": 18694, "player_name": "Crysencio Summerville" },
      { "minute": 64, "type_id": 14, "participant_id": 18694, "player_name": "Crysencio Summerville", "related_player_name": "Ryan Gravenberch", "result": "2-1" },
      { "minute": 83, "type_id": 19, "participant_id": 18694, "player_name": "Memphis Depay" },
      { "minute": 89, "type_id": 14, "participant_id": 18597, "player_name": "Daichi Kamada", "related_player_name": "Koki Ogawa", "result": "2-2" },
      { "minute": 90, "extra_minute": 1, "type_id": 19, "participant_id": 18694, "player_name": "Micky van de Ven" },
      // … substitution events (type_id 18) at 66', 70', 75', 81', 84', 85'
    ],
    "statistics": [
      { "type_id": 45, "location": "home", "data": { "value": 60 } },  /* Possession % */
      { "type_id": 45, "location": "away", "data": { "value": 40 } },
      { "type_id": 42, "location": "home", "data": { "value": 10 } },  /* Shots Total */
      { "type_id": 42, "location": "away", "data": { "value": 10 } },
      { "type_id": 86, "location": "home", "data": { "value": 6 } },  /* Shots on Target */
      { "type_id": 86, "location": "away", "data": { "value": 3 } },
      { "type_id": 5304, "location": "home", "data": { "value": 1.0429 } }, /* xG */
      { "type_id": 5304, "location": "away", "data": { "value": 0.4933 } },
      { "type_id": 80, "location": "home", "data": { "value": 524 } }, /* Passes */
      { "type_id": 80, "location": "away", "data": { "value": 341 } },
      { "type_id": 82, "location": "home", "data": { "value": 88 } }, /* Pass Accuracy % */
      { "type_id": 82, "location": "away", "data": { "value": 84 } },
      { "type_id": 49, "location": "home", "data": { "value": 10 } }, /* Corners */
      { "type_id": 49, "location": "away", "data": { "value": 6 } },
      { "type_id": 78, "location": "home", "data": { "value": 11 } }, /* Tackles */
      { "type_id": 78, "location": "away", "data": { "value": 11 } },
      { "type_id": 57, "location": "home", "data": { "value": 1 } },  /* Saves */
      { "type_id": 57, "location": "away", "data": { "value": 4 } },
      { "type_id": 56, "location": "home", "data": { "value": 7 } },  /* Fouls */
      { "type_id": 56, "location": "away", "data": { "value": 7 } },
      { "type_id": 84, "location": "home", "data": { "value": 3 } },  /* Yellow Cards */
      { "type_id": 84, "location": "away", "data": { "value": 0 } },
      { "type_id": 58, "location": "home", "data": { "value": 1 } },  /* Shots Blocked */
      { "type_id": 58, "location": "away", "data": { "value": 1 } },
      // … additional bilateral stat entries
    ],
    "predictions": [
      { "type_id": 237, "predictions": { "home": 44.0, "draw": 25.6, "away": 30.5 } },  /* FT Result */
      { "type_id": 231, "predictions": { "yes": 53.95, "no": 46.05 } }                         /* BTTS */
    ],
    "lineups_ratings": [
      { "player_name": "Keito Nakamura",   "team_id": 18597, "rating": 7.71 },
      { "player_name": "Daichi Kamada",    "team_id": 18597, "rating": 7.59 },
      { "player_name": "Ryan Gravenberch", "team_id": 18694, "rating": 7.57 },
      { "player_name": "Virgil van Dijk",  "team_id": 18694, "rating": 7.48 },
      { "player_name": "C. Summerville",   "team_id": 18694, "rating": 7.42 },
      { "player_name": "Cody Gakpo",       "team_id": 18694, "rating": 7.25 },
      { "player_name": "Frenkie de Jong",  "team_id": 18694, "rating": 7.24 },
      { "player_name": "Takefusa Kubo",    "team_id": 18597, "rating": 6.89 }
    ]
  }
}

Day 5 – June 15

Monday belonged to the underdogs. Every single match ended in a draw, and the biggest story of the day was a 40-year-old goalkeeper from a nation of half a million people.

Spain 0-0 Cape Verde – Group H

The shock of the tournament so far. Spain – reigning European champions, pre-tournament favourites, 27 shots over 90 minutes – could not score against World Cup debutants Cape Verde. The reason: Vozinha.

The 40-year-old Cape Verde goalkeeper made save after save, many at close range, tipping, blocking, and throwing himself in front of everything Spain threw at him. Luis de la Fuente brought Lamine Yamal, Dani Olmo and Nico Williams off the bench with 20 minutes left. Still nothing. Cape Verde held on. Vozinha reportedly gained 5 million social media followers overnight. Spain are shaken. Group H, which looked like a procession, is suddenly wide open.

Goals: None

Belgium 1-1 Egypt – Group G

Egypt were 92 years into a wait for their first World Cup win. After 65 minutes against Belgium, it looked like it was finally coming. Emam Ashour had opened the scoring in the 19th minute with a stunning 20-yard drive, set up by Mohamed Salah, and Belgium simply could not find a way through. Then Jesse Garcia brought Romelu Lukaku off the bench. Twenty-two seconds later, Lukaku’s run into the box forced Thomas Meunier’s cross to be turned into his own net by Mohamed Hany. The wait continues.

Lukaku then headed over from eight yards with the goal gaping in the 87th minute. Belgium will feel they should have won it. Egypt will feel robbed.

Goals: Ashour (19′) – Egypt; Hany OG (66′) – Belgium

Saudi Arabia 1-1 Uruguay – Group H

Saudi Arabia took the lead through Abdulelah Al-Amri just before half-time. Uruguay dominated possession (67% to 33%), had 28 shots to Saudi Arabia’s seven, and managed just one shot on target. That one shot mattered: Maximiliano Araújo equalised on 80 minutes. Uruguay left with a point that flattered Saudi Arabia but frustrated them enormously. Group H, after two games, has all four sides level on one point each.

Goals: Al-Amri (41′) – Saudi Arabia; Araújo (80′) – Uruguay

Iran 2-2 New Zealand – Group G

The most politically charged match of the tournament so far, played at a raucous Los Angeles Stadium with protests outside, competing flags inside, and added context from the US-Iran peace deal signed days earlier. The football matched the occasion.

Elijah Just opened the scoring in the 7th minute, set up by Chris Wood. Iran equalised in the 32nd through Ramin Rezaeian. Just restored New Zealand’s lead in the 54th – again, Wood the provider, making him the first New Zealand player to record multiple assists in a World Cup match. Then Rezaeian set up Mohammad Mohebbi for Iran’s second on 64 minutes. Neither side could find a winner. Group G is now completely deadlocked – all four teams on one point.

Just became the first Motherwell player ever to score at a World Cup. That sentence is real.

Goals: Just (7′, 54′) – New Zealand; Rezaeian (32′), Mohebbi (64′) – Iran

Match Centre · Built from the response FIFA World Cup 2026
Spain
Spain
0
0
Full Time
15 Jun 2026 · WC2026
Cape Verde Islands
Cape Verde
No goals scored
Pedri
90+3'
Nico Williams Rodri
87'
Dani Olmo Ferran Torres
81'
79'
Telmo Arcanjo Jamiro Monteiro
76'
João Paulo Sidny Lopes Cabral
Lamine Yamal Gavi
71'
Mikel Merino Fabián Ruiz
71'
61'
Willy Semedo Jovane Cabral (inj.)
61'
Deroy Duarte Laros Duarte
61'
Nuno Da Costa Dailon Livramento
16'
Sidny Lopes Cabral
Spain Spain
23Unai Simón
5Marcos Llorente
22Pau Cubarsí
14Aymeric Laporte
24Marc Cucurella
8Fabián Ruiz
16RodriC
20Pedri
7Ferran Torres
21Mikel Oyarzabal
9Gavi
Cape Verde Cape Verde
1Vozinha
22Steven Moreira
3Diney Borges
4Roberto Lopes
13Sidny L. Cabral
6Kevin Lenini
7Jovane Cabral
10Jamiro Monteiro
15Laros Duarte
20Ryan MendesC
19Dailon Livramento
74%Ball Possession26%
27Total Shots6
7Shots on Target1
2.65Expected Goals (xG)0.26
800Total Passes278
92%Pass Accuracy74%
16Corners2
13Tackles18
1Saves7
10Fouls1
1Yellow Cards1
8Shots Blocked2
Pre-match · Full Time Result
Spain
67.0%
Draw
21.1%
Cape Verde
12.0%
Both Teams to Score
Yes
40.8%
No
59.3%
Model got the clean sheet right, the winner wrong. Spain were huge 67% favourites and utterly dominated — 74% possession, 27 shots, xG 2.65 — yet couldn't score. BTTS No at 59.3% ✓. The story was Vozinha: the Cape Verde goalkeeper made 7 saves to Spain's 1, producing a rating of 8.96 to Pedri's 8.95. Cape Verde sat deep with 18 tackles and just enough discipline — Sidny's early yellow (16') was their only real scare until he was withdrawn (76'). Spain brought on Lamine Yamal, Mikel Merino, Dani Olmo, and Nico Williams but the scoreline held. Pedri's 90+3' yellow added frustration to a result that defied every number.
GET /v3/football/fixtures/19609162?include=participants;scores;lineups.player;events;statistics;xgfixture;predictions 200 OK
{
  "data": {
    "id": 19609162,
    "league_id": 732,
    "season_id": 26618,
    "name": "Spain vs Cape Verde Islands",
    "starting_at": "2026-06-15 20:00:00",
    "result_info": "Game ended in draw.",
    "xgfixture": [
      { "participant_id": 18710, "location": "home", "data": { "value": 2.6521 } },
      { "participant_id": 18823, "location": "away", "data": { "value": 0.2603 } }
    ],
    "scores": [
      { "description": "CURRENT", "score": { "participant": "home", "goals": 0 } },
      { "description": "CURRENT", "score": { "participant": "away", "goals": 0 } },
      { "description": "1ST_HALF", "score": { "participant": "home", "goals": 0 } },
      { "description": "1ST_HALF", "score": { "participant": "away", "goals": 0 } }
    ],
    "lineups": [
      {
        "player_id": 187215, "team_id": 18710,
        "player_name": "Unai Simón", "jersey_number": 23,
        "type_id": 11, "formation_field": "1:1",
        "player": { "image_path": "https://cdn.sportmonks.com/images/soccer/players/15/187215.png" }
      },
      {
        "player_id": 162887, "team_id": 18823,
        "player_name": "Vozinha", "jersey_number": 1,
        "type_id": 11, "formation_field": "1:1",
        "player": { "image_path": "https://cdn.sportmonks.com/images/soccer/players/7/162887.png" }
      },
      // … 20 more lineup entries (full XI both teams)
    ],
    "events": [
      { "minute": 16, "type_id": 19, "participant_id": 18823, "player_name": "Sidny Lopes Cabral" },
      { "minute": 90, "extra_minute": 3, "type_id": 19, "participant_id": 18710, "player_name": "Pedri" },
      // … substitution events (type_id 18) at 61', 71', 76', 79', 81', 87'
    ],
    "statistics": [
      { "type_id": 45, "location": "home", "data": { "value": 74 } },  /* Possession % */
      { "type_id": 45, "location": "away", "data": { "value": 26 } },
      { "type_id": 42, "location": "home", "data": { "value": 27 } },  /* Shots Total */
      { "type_id": 42, "location": "away", "data": { "value": 6 } },
      { "type_id": 86, "location": "home", "data": { "value": 7 } },  /* Shots on Target */
      { "type_id": 86, "location": "away", "data": { "value": 1 } },
      { "type_id": 5304, "location": "home", "data": { "value": 2.6521 } }, /* xG */
      { "type_id": 5304, "location": "away", "data": { "value": 0.2603 } },
      { "type_id": 80, "location": "home", "data": { "value": 800 } }, /* Passes */
      { "type_id": 80, "location": "away", "data": { "value": 278 } },
      { "type_id": 82, "location": "home", "data": { "value": 92 } }, /* Pass Accuracy % */
      { "type_id": 82, "location": "away", "data": { "value": 74 } },
      { "type_id": 49, "location": "home", "data": { "value": 16 } }, /* Corners */
      { "type_id": 49, "location": "away", "data": { "value": 2 } },
      { "type_id": 78, "location": "home", "data": { "value": 13 } }, /* Tackles */
      { "type_id": 78, "location": "away", "data": { "value": 18 } },
      { "type_id": 57, "location": "home", "data": { "value": 1 } },  /* Saves */
      { "type_id": 57, "location": "away", "data": { "value": 7 } },
      { "type_id": 56, "location": "home", "data": { "value": 10 } },  /* Fouls */
      { "type_id": 56, "location": "away", "data": { "value": 1 } },
      { "type_id": 84, "location": "home", "data": { "value": 1 } },  /* Yellow Cards */
      { "type_id": 84, "location": "away", "data": { "value": 1 } },
      { "type_id": 58, "location": "home", "data": { "value": 8 } },  /* Shots Blocked */
      { "type_id": 58, "location": "away", "data": { "value": 2 } }
    ],
    "predictions": [
      { "type_id": 237, "predictions": { "home": 67.0, "draw": 21.05, "away": 11.95 } },  /* FT Result */
      { "type_id": 231, "predictions": { "yes": 40.75, "no": 59.25 } }                        /* BTTS */
    ],
    "lineups_ratings": [
      { "player_name": "Vozinha",          "team_id": 18823, "rating": 8.96 },
      { "player_name": "Pedri",            "team_id": 18710, "rating": 8.95 },
      { "player_name": "Diney Borges",    "team_id": 18823, "rating": 7.71 },
      { "player_name": "Rodri",            "team_id": 18710, "rating": 7.97 },
      { "player_name": "Marc Cucurella", "team_id": 18710, "rating": 7.66 },
      { "player_name": "Fabián Ruiz",    "team_id": 18710, "rating": 7.53 },
      { "player_name": "Roberto Lopes",  "team_id": 18823, "rating": 7.28 }
    ]
  }
}

Day 6 – June 16

The night the tournament truly announced itself. Messi, Mbappe, and Haaland all scored on the same evening. Records fell. Kansas City looked like Buenos Aires.

France 3-1 Senegal – Group I

France were dire for the first 45 minutes. Senegal had the better of it, Jackson hit the post, Sarr blazed over from six yards out in first-half stoppage time – a miss that proved decisive. France produced an xG of 0.02 in that first half. Zero shots on target.

Then Deschamps pushed Olise centrally at half-time and everything changed. In the 66th minute, Olise threaded a defence-splitting pass through to Mbappe, who timed his run perfectly and slotted home. France’s all-time leading scorer, level with Giroud on 57. Then Barcola came off the bench and finished coolly from Rabiot’s pass on 82 to make it 2-0. Mbaye pulled one back for Senegal in stoppage time with a fine individual goal, but Mbappe had the last word – a thundering long-range finish in the 96th minute, his 58th France goal, his 14th World Cup goal. France record scorer. The tournament is on notice.

Goals: Mbappe (66′, 90+6′), Barcola (82′) – France; Mbaye (90+5′) – Senegal

Norway 4-1 Iraq – Group I

Haaland’s first World Cup. He has waited for this. He did not disappoint.

Norway took the lead in the 29th minute – Møller Wolfe’s low cross, Haaland at the back post to poke it home. Iraq hit back with a stunning Aymen Hussein header on 39, a sucker punch from a counter. Four minutes later, Iraq’s goalkeeper fumbled a weak back pass straight to Haaland, who tapped into an empty net. Brutal. Østigård headed home an Ødegaard corner on 76 to put it to bed, and Hussein then turned a Haaland cross into his own net in stoppage time for a cruel 4-1 final. Haaland now leads all scorers at the tournament.

Goals: Haaland (29′, 43′), Østigård (76′), Hussein OG (90+’) – Norway; Hussein (39′) – Iraq

Argentina 3-0 Algeria – Group J

History. All of it.

Messi’s 200th appearance for Argentina. His first career World Cup hat-trick. And by the end of the night, he had tied Miroslav Klose’s all-time World Cup goals record of 16. At 38.

The first was a long-range screamer in the 17th minute. Algeria were game throughout – they won the possession battle – but Messi is operating in a dimension no one else can reach. His second, a tap-in from a Mac Allister shot on 60. His third, a curled effort into the bottom corner on 76, at which point the crowd of Argentina supporters who had taken over Kansas City’s Arrowhead Stadium collectively lost their minds. He then came off to a standing ovation, job done.

Mbappe on 14 World Cup goals. Messi on 16. Both in the tournament. The record is tied. Something will give.

Goals: Messi (17′, 60′, 76′) – Argentina

Austria 3-1 Jordan – Group J

Jordan’s first-ever World Cup match. Romano Schmid gave Austria the lead in the 21st minute with a stunning long-range strike – Austria’s first World Cup goal since 1998. Jordan equalised with an equally brilliant effort on 50 through Ali Olwan, curled in off the far post after cutting inside. Jordan’s first-ever World Cup goal. A famous moment.

Then the chaos. Austria were awarded a goal through Arnautovic but VAR ruled it out for handball in the build-up. Eventually, a Jordan handball in the box in the dying minutes gave Arnautovic his penalty. He stepped up and rolled it home, becoming Austria’s oldest-ever World Cup scorer. 3-1. Jordan exit with their heads held high. They were not embarrassed. Group J: Argentina on 3, Austria on 3, with Algeria and Jordan yet to get off the mark.

Goals: Schmid (21′), own goal (set-pieces), Arnautovic (pen, 90+’) – Austria; Olwan (50′) – Jordan

Match Centre · Built from the response FIFA World Cup 2026
Argentina
Argentina
3
0
Full Time
17 Jun 2026 · WC2026
Algeria
Algeria
Messi 17' (De Paul)
Messi 60'
Messi 76' (N. González)
Argentina
82'
Zerrouki Maza
81'
Boulbina Bentaleb
Nico Paz Messi
80'
Otamendi Romero
80'
⚽ Messi 3–0 N. González · Left foot
76'
64'
Mahrez Hadj Moussa
64'
Aouar Boudaoui
64'
Amoura Gouiri
⚽ Messi 2–0 Right foot
60'
N. González Almada
55'
J. Álvarez Lautaro
55'
Molina Montiel
46'
⚽ Messi 1–0 De Paul · Left foot
17'
9'
Chaïbi ⛔ Disallowed (VAR)
Argentina Argentina · 4-4-2
23E. Martínez
4Montiel
13C. Romero
6L. Martínez
25F. Medina
7De Paul
20Mac Allister
24E. Fernández
16Almada
10Messi ⚽⚽⚽C
22Lautaro
Algeria Algeria · 4-3-3
23L. Zidane
15Aït-Nouri
21Bensebaini
2MandiC
17Belghali
22Maza
19Bentaleb
14Boudaoui
10Chaïbi
9Gouiri
11Hadj Moussa
48%Ball Possession52%
10Total Shots7
6Shots on Target0
0.82Expected Goals (xG)0.33
561Total Passes609
90%Pass Accuracy92%
4Corners3
27Tackles17
0Saves3
13Fouls8
1Shots Blocked3
Pre-match · Full Time Result
Argentina
50.6%
Draw
25.5%
Algeria
24.0%
Both Teams to Score
Yes
49.7%
No
50.3%
The model got the winner right, but the margin defied every number. At 50.6%, Argentina were slim favourites — yet won 3-0. BTTS Yes sat at 49.7% given Algeria's attacking talent, but Luca Zidane's 3 saves were insufficient against clinical finishing. The match's pivot: Chaïbi's 9' goal disallowed by VAR, which could have changed everything. Instead Algeria — despite owning 52% possession and completing more passes (609 vs 561) — finished with 0 shots on target from 7 attempts. Messi made every chance count: De Paul's assist at 17', a solo right-foot finish at 60', then sub Nico González teed up the hat-trick at 76'. Rating 9.67 — the gulf between genius and good intentions. Chaïbi (7.31) was Algeria's best, which tells its own story.
GET /v3/football/fixtures/19609145?include=participants;scores;lineups.player;events;statistics;xgfixture;predictions 200 OK
{
  "data": {
    "id": 19609145,
    "league_id": 732,
    "season_id": 26618,
    "name": "Argentina vs Algeria",
    "starting_at": "2026-06-17 00:00:00",
    "result_info": "Argentina won after full time.",
    "xgfixture": [
      { "participant_id": 18644, "location": "home", "data": { "value": 0.8158 } },
      { "participant_id": 18620, "location": "away", "data": { "value": 0.3307 } }
    ],
    "scores": [
      { "description": "CURRENT", "score": { "participant": "home", "goals": 3 } },
      { "description": "CURRENT", "score": { "participant": "away", "goals": 0 } },
      { "description": "1ST_HALF", "score": { "participant": "home", "goals": 1 } },
      { "description": "1ST_HALF", "score": { "participant": "away", "goals": 0 } }
    ],
    "events": [
      { "minute": 9,  "type_id": 10, "participant_id": 18620, "player_name": "Farès Chaïbi",    "info": "Disallowed (VAR)" },
      { "minute": 17, "type_id": 14, "participant_id": 18644, "player_name": "Lionel Messi",     "result": "1-0", "related_player": "Rodrigo De Paul", "info": "Left foot shot" },
      { "minute": 46, "type_id": 18, "participant_id": 18644, "player_name": "Nahuel Molina",    "related_player": "Gonzalo Montiel" },
      { "minute": 55, "type_id": 18, "participant_id": 18644, "player_name": "Julián Álvarez",   "related_player": "Lautaro Martínez" },
      { "minute": 55, "type_id": 18, "participant_id": 18644, "player_name": "Nico González",    "related_player": "Thiago Almada" },
      { "minute": 60, "type_id": 14, "participant_id": 18644, "player_name": "Lionel Messi",     "result": "2-0", "info": "Right foot shot", "addition": "2nd Goal" },
      // substitutions at 64' (3× ALG), 80' (2× ARG), 81' ALG, 82' ALG …
      { "minute": 76, "type_id": 14, "participant_id": 18644, "player_name": "Lionel Messi",     "result": "3-0", "related_player": "Nico González", "info": "Left foot shot", "addition": "3rd Goal" }
    ],
    "statistics": [
      { "type_id": 45, "location": "home", "data": { "value": 48 } },  /* Possession % */
      { "type_id": 45, "location": "away", "data": { "value": 52 } },
      { "type_id": 42, "location": "home", "data": { "value": 10 } }, /* Shots Total */
      { "type_id": 42, "location": "away", "data": { "value": 7  } },
      { "type_id": 86, "location": "home", "data": { "value": 6  } }, /* Shots on Target */
      { "type_id": 86, "location": "away", "data": { "value": 0  } },
      { "type_id": 5304, "location": "home", "data": { "value": 0.8158 } }, /* xG */
      { "type_id": 5304, "location": "away", "data": { "value": 0.3307 } },
      { "type_id": 80, "location": "home", "data": { "value": 561 } }, /* Passes */
      { "type_id": 80, "location": "away", "data": { "value": 609 } },
      { "type_id": 82, "location": "home", "data": { "value": 90 } }, /* Pass Accuracy % */
      { "type_id": 82, "location": "away", "data": { "value": 92 } },
      { "type_id": 49, "location": "home", "data": { "value": 4  } }, /* Corners */
      { "type_id": 49, "location": "away", "data": { "value": 3  } },
      { "type_id": 78, "location": "home", "data": { "value": 27 } }, /* Tackles */
      { "type_id": 78, "location": "away", "data": { "value": 17 } },
      { "type_id": 57, "location": "home", "data": { "value": 0  } }, /* Saves */
      { "type_id": 57, "location": "away", "data": { "value": 3  } },
      { "type_id": 56, "location": "home", "data": { "value": 13 } }, /* Fouls */
      { "type_id": 56, "location": "away", "data": { "value": 8  } },
      { "type_id": 58, "location": "home", "data": { "value": 1  } }, /* Shots Blocked */
      { "type_id": 58, "location": "away", "data": { "value": 3  } }
    ],
    "predictions": [
      { "type_id": 237, "predictions": { "home": 50.55, "draw": 25.5, "away": 23.95 } },  /* FT Result */
      { "type_id": 231, "predictions": { "yes": 49.7, "no": 50.3 } }                          /* BTTS */
    ],
    "lineups_ratings": [
      { "player_name": "Lionel Messi",     "team_id": 18644, "rating": 9.67 },
      { "player_name": "Rodrigo De Paul", "team_id": 18644, "rating": 7.32 },
      { "player_name": "Farès Chaïbi",    "team_id": 18620, "rating": 7.31 },
      { "player_name": "Mac Allister",    "team_id": 18644, "rating": 7.13 },
      { "player_name": "L. Martínez",     "team_id": 18644, "rating": 7.13 },
      { "player_name": "Facundo Medina", "team_id": 18644, "rating": 7.00 },
      { "player_name": "Aïssa Mandi",    "team_id": 18620, "rating": 6.97 }
    ]
  }
}

Day 7 – June 17

The group stage finished its first round of fixtures. All 48 teams have now played once.

Portugal 1-1 DR Congo – Group K

Ronaldo’s sixth World Cup. He was 41 years old and swarmed by Congo defenders all night, largely ineffective. João Neves put Portugal ahead in the 6th minute, the youngest Portugal player ever to score at a World Cup. Congo, unfazed, equalised through Yoane Wissa just before half-time with a fine individual goal. Portugal pushed for a winner and couldn’t find one. Ronaldo trudged off at the final whistle visibly frustrated.

Congo – making just their second World Cup appearance – leave Houston with a point. Portugal’s Robert Martínez will have questions to answer before the next match.

Goals: Neves (6′) – Portugal; Wissa (45+5′) – DR Congo

England 4-2 Croatia – Group L

The rematch. Eight years on from the semi-final in Moscow. And England exacted revenge in the most chaotic, entertaining way possible.

Kane put England ahead from the penalty spot in the 12th minute, then doubled it on 42. Croatia hit back immediately – Baturina pulled one back on 36, then Musa equalised in first-half stoppage time. 2-2 at the break. England fans in Dallas having heart palpitations.

Then Bellingham. Straight out of the tunnel at half-time, 47th minute, England back in front. Rashford sealed it on 85. 4-2. England’s biggest win over Croatia in their history. Tuchel’s debut as England manager could not have gone much better. The defence was a mess but Kane, Bellingham, and Rashford were exactly what they need to be.

Croatia’s Modric, 40, started and played the full 90. Whatever you think of the result, that is still a remarkable thing to watch.

Goals: Kane (12′ pen, 42′), Bellingham (47′), Rashford (85′) – England; Baturina (36′), Musa (45+5′) – Croatia

Ghana 1-0 Panama – Group L

Thomas Partey wasn’t there – a Canadian judge rejected his visa application while he awaits trial in the UK – and Ghana managed without him. It was tight, scrappy, and goalless for the best part of 95 minutes. Then Caleb Yirenkyi pounced on a cross in the 90+5th minute and slammed it home. Ghana end the day on three points. Panama, in only their second-ever World Cup, have it all to do.

Goals: Yirenkyi (90+5′) – Ghana

Colombia 3-1 Uzbekistan – Group K

Uzbekistan became the 48th team to play their first match at this World Cup and made it memorable. Fayzullaev scored a stunning blocked-shot rebound in the 60th minute to equalise after Daniel Muñoz had put Colombia ahead on 40 – Uzbekistan’s first-ever World Cup goal, celebrated like a title.

Colombia were too much overall. Luis Díaz scored his first ever World Cup goal on 65, a moment he’ll remember for life, and substitute Campaz tapped in a cross in the 90+9th minute to wrap up 3-1. Colombia top Group K. Portugal are second after their draw – the group is already more interesting than expected.

Goals: Muñoz (40′), Díaz (65′), Campaz (90+9′) – Colombia; Fayzullaev (60′) – Uzbekistan

Match Centre · Built from the response FIFA World Cup 2026
England
England
4
2
Full Time
17 Jun 2026 · WC2026 · HT 2–2
Croatia
Croatia
Kane 12' (pen)
Kane 42' (Rice)
Bellingham 47' (Anderson)
Rashford 85' (Saka)
England
Baturina 36' (Sučić)
Musa 45+5' (Perišić)
Croatia
Guéhi Stones
87'
⚽ Rashford 4–2 Saka · Right foot
85'
D. Spence Bellingham
80'
78'
Vlašić Baturina
78'
Kramaric M. Pašalić
Saka Madueke
72'
Rogers Rice
72'
Rashford Gordon
72'
66'
M. Pašalić Vuskovic
66'
Matanovic Musa
58'
Kovacic Modrić
⚽ Bellingham 3–2 Anderson · Right foot
47'
45+5'
⚽ Musa 2–2 Perišić · Right foot
⚽ Kane 2–1 Rice · Header
42'
36'
⚽ Baturina 1–1 Sučić · Right foot
⚽ Kane 1–0 Penalty · Right foot
12'
Madueke Penalty won
11'
Modrić 🟨 Pen conceded (VAR)
England England · 4-2-3-1
1Pickford
24R. James
2Konsa
5Stones
3N. O'Reilly
8E. Anderson 🅐
4Rice 🅐
20Madueke
10Bellingham ⚽
18Gordon
9Kane ⚽⚽C
Croatia Croatia · 3-4-2-1
1Livakovic
4Gvardiol
22Vuskovic
6Sutalo
14Perišić 🅐
15M. Pašalić
10ModrićC
2Stanisic
16Baturina ⚽
17Sučić 🅐
26Musa ⚽
52%Ball Possession48%
22Total Shots10
11Shots on Target5
3.11Expected Goals (xG)0.81
474Total Passes443
86%Pass Accuracy86%
20Corners4
9Tackles11
3Saves7
10Fouls12
5Shots Blocked2
Pre-match · Full Time Result
England
47.5%
Draw
23.1%
Croatia
29.4%
Both Teams to Score
Yes
61.2%
No
38.8%
The model underestimated England — and overestimated Modrić's Croatia. At 47.5%, England were slight home favourites despite Croatia's 29.4% chance. BTTS Yes at 61.2% was correct: all six goals came in a six-goal thriller that stood at 2-2 after a breathless first half. The match's pivot was Modrić's 11' penalty foul on Madueke — a VAR review that handed Kane the opener. Croatia levelled twice (Baturina 36', Musa 45+5'), but Bellingham's 47' header tore the game open at the restart. From there, England's 3.11 xG to Croatia's 0.81 told the real story. Livakovic's 7 saves were heroic — without them the margin would have been greater. Kane 8.67 rated the game of the tournament so far. Bellingham (7.62) and Madueke (7.57) underlining why England's front three is the tournament's most dangerous unit.
GET /v3/football/fixtures/19609149?include=participants;scores;lineups.player;events;statistics;xgfixture;predictions 200 OK
{
  "data": {
    "id": 19609149,
    "league_id": 732,
    "season_id": 26618,
    "name": "England vs Croatia",
    "starting_at": "2026-06-17 00:00:00",
    "result_info": "England won after full time.",
    "xgfixture": [
      { "participant_id": 18645, "location": "home", "data": { "value": 3.1096 } },
      { "participant_id": 18588, "location": "away", "data": { "value": 0.811  } }
    ],
    "scores": [
      { "description": "CURRENT",  "score": { "participant": "home", "goals": 4 } },
      { "description": "CURRENT",  "score": { "participant": "away", "goals": 2 } },
      { "description": "1ST_HALF", "score": { "participant": "home", "goals": 2 } },
      { "description": "1ST_HALF", "score": { "participant": "away", "goals": 2 } }
    ],
    "events": [
      { "minute": 11,  "type_id": 15, "participant_id": 18645, "player_name": "Noni Madueke",     "info": "Penalty won (VAR)", "related_player": "Luka Modrić" },
      { "minute": 12,  "type_id": 16, "participant_id": 18645, "player_name": "Harry Kane",        "result": "1-0", "info": "Penalty · Right foot" },
      { "minute": 36,  "type_id": 14, "participant_id": 18588, "player_name": "Martin Baturina",   "result": "1-1", "related_player": "Petar Sučić",    "info": "Right foot" },
      { "minute": 42,  "type_id": 14, "participant_id": 18645, "player_name": "Harry Kane",        "result": "2-1", "related_player": "Declan Rice",    "info": "Header" },
      { "minute": 45,  "type_id": 14, "participant_id": 18588, "player_name": "Petar Musa",        "result": "2-2", "related_player": "Ivan Perišić",  "info": "Right foot", "extra_minute": 5 },
      { "minute": 47,  "type_id": 14, "participant_id": 18645, "player_name": "Jude Bellingham",   "result": "3-2", "related_player": "Elliot Anderson", "info": "Right foot" },
      // substitutions: 58' CRO (Kovacic/Modrić), 66' CRO ×2, 72' ENG ×3, 78' CRO ×2, 80' ENG, 87' ENG …
      { "minute": 85,  "type_id": 14, "participant_id": 18645, "player_name": "Marcus Rashford",   "result": "4-2", "related_player": "Bukayo Saka",    "info": "Right foot" }
    ],
    "statistics": [
      { "type_id": 45,   "location": "home", "data": { "value": 52     } }, /* Possession % */
      { "type_id": 45,   "location": "away", "data": { "value": 48     } },
      { "type_id": 42,   "location": "home", "data": { "value": 22     } }, /* Shots Total */
      { "type_id": 42,   "location": "away", "data": { "value": 10     } },
      { "type_id": 86,   "location": "home", "data": { "value": 11     } }, /* Shots on Target */
      { "type_id": 86,   "location": "away", "data": { "value": 5      } },
      { "type_id": 5304, "location": "home", "data": { "value": 3.1096 } }, /* xG */
      { "type_id": 5304, "location": "away", "data": { "value": 0.811  } },
      { "type_id": 80,   "location": "home", "data": { "value": 474    } }, /* Passes */
      { "type_id": 80,   "location": "away", "data": { "value": 443    } },
      { "type_id": 82,   "location": "home", "data": { "value": 86     } }, /* Pass Accuracy % */
      { "type_id": 82,   "location": "away", "data": { "value": 86     } },
      { "type_id": 49,   "location": "home", "data": { "value": 20     } }, /* Corners */
      { "type_id": 49,   "location": "away", "data": { "value": 4      } },
      { "type_id": 78,   "location": "home", "data": { "value": 9      } }, /* Tackles */
      { "type_id": 78,   "location": "away", "data": { "value": 11     } },
      { "type_id": 57,   "location": "home", "data": { "value": 3      } }, /* Saves */
      { "type_id": 57,   "location": "away", "data": { "value": 7      } },
      { "type_id": 56,   "location": "home", "data": { "value": 10     } }, /* Fouls */
      { "type_id": 56,   "location": "away", "data": { "value": 12     } },
      { "type_id": 58,   "location": "home", "data": { "value": 5      } }, /* Shots Blocked */
      { "type_id": 58,   "location": "away", "data": { "value": 2      } }
    ],
    "predictions": [
      { "type_id": 237, "predictions": { "home": 47.5, "draw": 23.1, "away": 29.4 } }, /* FT Result */
      { "type_id": 231, "predictions": { "yes": 61.2, "no": 38.8 } }                        /* BTTS */
    ],
    "lineups_ratings": [
      { "player_name": "Harry Kane",      "team_id": 18645, "rating": 8.67 },
      { "player_name": "Jude Bellingham", "team_id": 18645, "rating": 7.62 },
      { "player_name": "Noni Madueke",    "team_id": 18645, "rating": 7.57 },
      { "player_name": "Martin Baturina", "team_id": 18588, "rating": 7.46 },
      { "player_name": "Declan Rice",     "team_id": 18645, "rating": 7.45 },
      { "player_name": "Elliot Anderson", "team_id": 18645, "rating": 7.42 },
      { "player_name": "Ivan Perišić",    "team_id": 18588, "rating": 7.19 }
    ]
  }
}

Day 8 – June 18

A day of giant wins, goalkeeping errors, and a late flurry in LA. Mexico become the first team to reach the Round of 32.

Czechia 1-1 South Africa – Group A

Both sides needed a win badly. Neither got one. Sadilek gave Czechia a sixth-minute lead – the fastest goal of the tournament so far – after a canny first-time touch released him through on goal. South Africa pushed and probed but couldn’t find an equaliser for most of the match.

Then a handball in the box with seven minutes to go. Mokoena stepped up, sent the keeper the wrong way, and wheeled away in celebration – also, per reports, in tears, his grandfather having passed away before the tournament. He’d dedicated the goal to him before the game. Football.

Both sides sit on one point in Group A with one match left. Both need a result.

Goals: Sadilek (6′) – Czechia; Mokoena pen (83′) – South Africa

Switzerland 4-1 Bosnia and Herzegovina – Group B

Goalless, tense, and going nowhere for 74 minutes. Bosnia’s goalkeeper Vasilj was extraordinary, making save after save including a brilliant stop to deny Embolo at close range. Switzerland were utterly frustrated.

Then Yakin sent on Manzambi and Vargas and everything changed. Manzambi, moments after coming on, hit an absolute volley to break the deadlock – one of the goals of the tournament. Vargas made it two on 84. Bosnia were reduced to ten men when Muharemović was sent off for serious foul play. Manzambi got his second on 90, then substitute Mahmic – barely a minute after coming on himself – hammered in a volley of his own for a brilliant consolation. Then Xhaka slotted a penalty in the 90+7th to make it 4-1.

Five goals after the 74th minute. Switzerland through to the Round of 32 on four points. Group B is wide open with Bosnia and Qatar still needing results.

Goals: Manzambi (74′, 90′), Vargas (84′), Xhaka pen (90+7′) – Switzerland; Mahmic (90+3′) – Bosnia

Canada 6-0 Qatar – Group B

Forty years. Three World Cups. Zero wins. That all ended on Thursday in Vancouver.

Canada ran out 6-0 winners, Jonathan David scoring a hat-trick in front of a sold-out BC Place that was overwhelmingly red and delirious all evening. Larin opened it on 16, David added the second on 29 and his second just before half-time to make it 3-0. Qatar were reduced to nine men in the second half – Homam Ahmed was sent off on 33 and Madibo got his marching orders on 51 after a horror challenge on Koné that left the midfielder stretchered off with an apparent broken leg, a horrible moment in an otherwise joyful night. Saliba bent a free-kick in on 64, Al Manai put through his own net on 75, and David completed his hat-trick in stoppage time.

Canada’s first ever World Cup win. Jonathan David’s night to remember. Koné’s injury the shadow over it all.

Goals: Larin (16′), David (29′, 45+3′, 90+2′), Saliba (64′), Manai OG (75′) – Canada

Mexico 1-0 South Korea – Group A

Mexico become the first team to reach the Round of 32. The winner came from a moment of goalkeeping disaster – Kim Seung-gyu came rushing off his line for a looping ball, crashed into his own defender, and spilled it at Luis Romo’s feet, who lifted it into the net on 50. Not pretty. It was enough.

South Korea had the better xG on the night (0.69 to 0.48), threatened late through Cho and Yang, and were denied by two stunning reaction saves. They go into their final group game knowing they must beat South Africa to have any hope.

Mexico are through. They’ll face a third-place finisher in the Round of 32, on home soil. The country is celebrating.

Goals: Romo (50′) – Mexico

Match Centre · Built from the response FIFA World Cup 2026
Mexico
Mexico
1
0
Full Time
19 Jun 2026 · WC2026 · HT 0–0
Korea Republic
Korea Republic
L. Romo 50'
Mexico
Korea Republic
C. Huerta Quiñones
84'
S. Gimenez R. Jiménez
80'
I. Reyes R. Alvarado
80'
77'
G. Cho Paik
O. Pineda B. Gutiérrez
71'
O. Vargas L. Romo
71'
71'
J. Eom Y. Seol
71'
H. Yang
58'
Paik
57'
H. Oh Son
57'
H. Hwang J. Lee
⚽ L. Romo 1–0 Right foot
50'
4'
K. Lee
Mexico Mexico · 4-3-3
1Rangel
2J. Sánchez
4E. ÁlvarezC
5J. Vásquez
23J. Gallardo
26B. Gutiérrez
6É. Lira
7L. Romo ⚽
25R. Alvarado
9R. Jiménez
16J. Quiñones
Korea Republic Korea · 3-4-2-1
1S. Kim
2H. Lee
4M. Kim
3G. Lee
15M. Kim
6I. Hwang
8S. Paik
22Y. Seol
10J. Lee
19K. Lee
7SonC
Top Rated
L. Romo 7.55 K. Lee 7.32 Rangel 7.19 E. Álvarez 7.07 Son 7.05 Quiñones 7.02 Gallardo 7.00
42% Possession 58%
8 Total Shots 9
4 Shots on Target 2
0.55 xG 1.20
427 Passes 578
82% Pass Accuracy 84%
5 Corners 6
14 Tackles 17
2 Saves 3
9 Fouls 7
1 Shots Blocked 3
Pre-Match Win Probability
Mexico
38.63%
Draw
26.07%
Korea Rep.
35.30%
Other Markets
BTTS – Yes
49.99%
BTTS – No
50.01%
xG Summary
Mexico xG
0.5465
Korea Rep. xG
1.1975
Korea Republic generated more than double Mexico's xG yet lost 1–0. Romo's 50' finish beat the odds.
GET /fixtures/19609128 200 OK
// Sportmonks fixture 19609128 — Mexico vs Korea Republic
// WC2026 Group Stage · 19 Jun 2026 · 01:00 UTC
{
  "fixture_id": 19609128,
  "league_id":  732,
  "season_id":  26618,
  "name":       "Mexico vs Korea Republic",
  "starting_at": "2026-06-19 01:00:00",
  "result_info": "Mexico won after full-time",
  "state": {
    "state": "FT"
  },
  "scores": [
    { "description": "CURRENT",
      "score": { "goals": 1, "participant": "home" } },
    { "description": "CURRENT",
      "score": { "goals": 0, "participant": "away" } },
    { "description": "1ST_HALF",
      "score": { "goals": 0, "participant": "home" } },
    { "description": "1ST_HALF",
      "score": { "goals": 0, "participant": "away" } }
  ],
  "participants": [
    { "id": 18576, "name": "Mexico",
      "meta": { "location": "home", "winner": true } },
    { "id": 18567, "name": "Korea Republic",
      "meta": { "location": "away", "winner": false } }
  ],
  "events": [
    { "minute": 50,  "type": "goal",
      "player_name": "Luis Romo",
      "result": "1-0",
      "shot_type": "right-footed-shot" },
    { "minute": 4,   "type": "yellowcard",
      "player_name": "Kang-in Lee" },
    { "minute": 57,  "type": "substitution",
      "player_name": "Hyeon-gyu Oh",
      "related_player_name": "Heung-min Son" },
    { "minute": 58,  "type": "yellowcard",
      "player_name": "Seung-ho Paik" },
    { "minute": 71,  "type": "substitution",
      "player_name": "Luis Romo", /* off */
      "related_player_name": "Obed Vargas" },
    { "minute": 84,  "type": "substitution",
      "player_name": "Julián Quiñones", /* off */
      "related_player_name": "César Huerta" }
  ],
  "statistics": [
    { "type_id": 45, "name": "Ball Possession",
      "home": 42, "away": 58 },
    { "type_id": 42, "name": "Total Shots",
      "home": 8,  "away": 9 },
    { "type_id": 86, "name": "Shots On Target",
      "home": 4,  "away": 2 },
    { "type_id": 80, "name": "Passes",
      "home": 427, "away": 578 },
    { "type_id": 78, "name": "Tackles",
      "home": 14, "away": 17 }
  ],
  "predictions": [
    { "type_id": 237,
      "home": 38.63, "draw": 26.07, "away": 35.30 }
  ],
  "lineups": {
    "home_formation": "4-3-3",
    "away_formation": "3-4-2-1",
    "home_captain": "Edson Álvarez",
    "away_captain": "Heung-min Son"
  }
}

Day 9 – June 19

USA 2-0 Australia – Group D

No Pulisic. No problem. The United States put in another dominant first half to beat Australia 2-0 in Seattle and book their place in the Round of 32 with a game to spare.

Pulisic was ruled out with a calf injury, Ricardo Pepi starting in his place. It didn’t matter. Balogun torched down the left, whipped a low cross in, and Australia defender Cameron Burgess turned it into his own net in the 11th minute – the second consecutive USMNT match that started with an opponent own goal. Alex Freeman, 21 years old and son of a Super Bowl champion, then headed in a deflected Dest shot on 43 after a VAR review confirmed he was onside. 2-0 at half-time, and the US defended comfortably after the break.

The US have now won back-to-back games at a World Cup for the first time since 1930. They top Group D. They’ll face a third-place team in the Round of 32 on July 1 in Santa Clara.

Goals: Burgess OG (11′), Freeman (43′) – USA

Scotland 0-1 Morocco – Group C

Scotland had already beaten Haiti. Morocco had drawn with Brazil. This was the match that would define which of them led Group C heading into the final round.

Ismael Saibari scored in the 2nd minute, a clinical strike from the edge of the box barely 70 seconds in. Scotland pushed for the whole match and couldn’t find a way through. A defeat that puts them in a difficult position heading into the final game against Brazil.

Goals: Saibari (2′) – Morocco

Brazil 3-0 Haiti – Group C

A statement from Brazil after their draw with Morocco. Matheus Cunha scored twice in the first half – on 23 and 36 minutes – with Vinícius Júnior adding a third just before half-time, curling into the far corner one-on-one after Haiti’s goalkeeper spilled a shot. Brazil move top of Group C. Haiti are eliminated.

Goals: Cunha (23′, 36′), Vinícius Júnior (45+3′) – Brazil

Türkiye 0-1 Paraguay – Group D

A stunning result that sealed Türkiye’s elimination. Matías Galarza scored in the 2nd minute with a stunning 25-yard finish into the bottom corner – the fastest goal in World Cup 2026 history at that point. Türkiye pushed but never found a way through. Miguel Almirón added a second in first-half stoppage time after a VAR review to confirm 2-0. Wait – confirmed final is 1-0, with only Galarza’s goal standing after Almirón’s was ruled out.

Paraguay through. Türkiye eliminated. Group D is locked: USA top, Australia second, Paraguay third, Türkiye out.

Goals: Galarza (2′) – Paraguay

Match Centre · Built from the response FIFA World Cup 2026
United States
United States
2
0
Full Time
19 Jun 2026 · WC2026
Australia
Australia
C. Burgess (OG) 11'
A. Freeman 43'
United States
Australia
G. Reyna McKennie
90+6'
H. Wright Balogun
90+6'
C. Richards
90+3'
Balogun
89'
89'
Italiano
88'
Souttar
J. Scally Dest
80'
A. Trusty Robinson
80'
78'
J. Irvine Okon-Engstler
S. Berhalter R. Pepi
74'
61'
C. Volpato Leckie 🤕
59'
🔍 VAR: J. Bos (no change)
Robinson
56'
46'
J. Geria Burgess
46'
N. Irankunda M. Touré
46'
C. Metcalfe Velupillay
🔍 VAR: Freeman goal confirmed
45'
⚽ A. Freeman 2–0 Header
43'
32'
Circati
16'
J. Bos
⚽ Burgess (OG) 1–0 Left foot shot
11'
C. Burgess
United States United States · 3-5-2
24M. Freese
16A. Freeman ⚽
3C. Richards
13T. ReamC
2S. Dest
8W. McKennie
4T. Adams
17M. Tillman
5A. Robinson
20F. Balogun
9R. Pepi
Australia Australia · 5-4-1
18P. Beach
5J. Bos
21C. Burgess ⚽
19H. SouttarC
3A. Circati
4J. Italiano
23N. Velupillay
24P. Okon-Engstler
13A. O'Neill
7M. Leckie
9M. Touré
Top Rated
A. Freeman 7.94 C. Richards 7.31 M. Tillman 7.25 C. Volpato† 7.25 A. Robinson 7.24 W. McKennie 7.18 A. Circati 7.14
† substitute appearance
60% Possession 40%
10 Total Shots 5
2 Shots on Target 2
1.36 xG 0.51
523 Passes 310
85% Pass Accuracy 71%
8 Corners 3
20 Tackles 13
2 Saves 1
12 Fouls 16
Pre-Match Win Probability
USA
49.33%
Draw
24.18%
Australia
26.43%
Other Markets
BTTS – Yes
55.87%
BTTS – No
44.13%
xG Summary
United States xG
1.3592
Australia xG
0.5129
USA dominated possession (60%), created more chances, and sealed the game by half-time. Both goals came in the first 43 minutes — second half was goalless.
GET /fixtures/19609134 200 OK
// Sportmonks fixture 19609134 — United States vs Australia
// WC2026 Group Stage · 19 Jun 2026 · 19:00 UTC
{
  "fixture_id": 19609134,
  "league_id":  732,
  "season_id":  26618,
  "name":       "United States vs Australia",
  "starting_at": "2026-06-19 19:00:00",
  "result_info": "United States won after full-time",
  "state": {
    "state": "FT"
  },
  "scores": [
    { "description": "CURRENT",
      "score": { "goals": 2, "participant": "home" } },
    { "description": "CURRENT",
      "score": { "goals": 0, "participant": "away" } },
    { "description": "1ST_HALF",
      "score": { "goals": 2, "participant": "home" } },
    { "description": "1ST_HALF",
      "score": { "goals": 0, "participant": "away" } }
  ],
  "participants": [
    { "id": 18571, "name": "United States",
      "meta": { "location": "home", "winner": true } },
    { "id": 18730, "name": "Australia",
      "meta": { "location": "away", "winner": false } }
  ],
  "events": [
    { "minute": 11,  "type": "own-goal",
      "player_name": "Cameron Burgess",
      "result": "1-0",
      "shot_type": "left-footed-shot" },
    { "minute": 16,  "type": "yellowcard",
      "player_name": "Jordan Bos" },
    { "minute": 32,  "type": "yellowcard",
      "player_name": "Alessandro Circati" },
    { "minute": 43,  "type": "goal",
      "player_name": "Alex Freeman",
      "result": "2-0",
      "shot_type": "header" },
    { "minute": 45,  "type": "var",
      "player_name": "Alex Freeman",
      "sub_type": "goal-awarded" },
    { "minute": 46,  "type": "substitution",
      "player_name": "Cameron Burgess",
      "related_player_name": "Jason Geria" },
    { "minute": 56,  "type": "yellowcard",
      "player_name": "Antonee Robinson" },
    { "minute": 59,  "type": "var",
      "player_name": "Jordan Bos",
      "sub_type": "no-change" },
    { "minute": 61,  "type": "substitution",
      "player_name": "Mathew Leckie", /* injured */
      "related_player_name": "Cristian Volpato" },
    { "minute": 74,  "type": "substitution",
      "player_name": "Ricardo Pepi",
      "related_player_name": "Sebastian Berhalter" },
    { "minute": 88,  "type": "yellowcard",
      "player_name": "Harry Souttar" },
    { "minute": 89,  "type": "yellowcard",
      "player_name": "Folarin Balogun" },
    { "minute": 89,  "type": "yellowcard",
      "player_name": "Jacob Italiano" }
  ],
  "statistics": [
    { "type_id": 44, "name": "Ball Possession",
      "home": 60, "away": 40 },
    { "type_id": 42, "name": "Total Shots",
      "home": 10, "away": 5 },
    { "type_id": 86, "name": "Shots On Target",
      "home": 2,  "away": 2 },
    { "type_id": 80, "name": "Passes",
      "home": 523, "away": 310 },
    { "type_id": 82, "name": "Pass Accuracy %",
      "home": 85, "away": 71 },
    { "type_id": 49, "name": "Corners",
      "home": 8,  "away": 3 },
    { "type_id": 78, "name": "Tackles",
      "home": 20, "away": 13 },
    { "type_id": 57, "name": "Saves",
      "home": 2,  "away": 1 },
    { "type_id": 56, "name": "Fouls",
      "home": 12, "away": 16 }
  ],
  "predictions": [
    { "type_id": 237,
      "home": 49.33, "draw": 24.18, "away": 26.43 },
    { "type_id": 231, "name": "BTTS",
      "yes": 55.87, "no": 44.13 }
  ],
  "lineups": {
    "home_formation": "3-5-2",
    "away_formation": "5-4-1",
    "home_captain": "Tim Ream",
    "away_captain": "Harry Souttar"
  },
  "xg": {
    "home": 1.3592,
    "away": 0.5129
  }
}

Day 10 – June 20

A day of Group E and F fireworks. Germany dig deep. The Dutch go to town.

Netherlands 5-1 Sweden – Group F

The Dutch came into this needing to bounce back after drawing with Japan. They did not hold back. Brian Brobbey, starting up front, scored twice in the first half – the quickest brace by any Dutch player at a World Cup since 1974. Cody Gakpo then added two more in a seven-minute burst to make it 4-0. Sweden, who had beaten Tunisia 5-1 just days earlier, suddenly found themselves on the receiving end of the same scoreline. Anthony Elanga pulled one back on 59, but Summerville completed the rout from range late on. 5-1. Netherlands top Group F. Cody Gakpo scored the 100th goal of the 2026 World Cup. Tunisia are eliminated.

Goals: Brobbey (2), Gakpo (2), Summerville – Netherlands; Elanga – Sweden

Germany 2-1 Ivory Coast – Group E

This one felt like it was slipping away from Germany. Ivory Coast, disciplined and dangerous on the break, took the lead through Franck Kessié on 30 minutes, slotting home after Amad’s frantic close-range effort was blocked. Germany had a Pavlovic header ruled out for a foul on the goalkeeper. Half-time: Germany trailing, looking shaky.

Then Deniz Undav, the substitute, arrived. He headed in Amiri’s cross on 68 to level, ghosting between two defenders in the box. Germany pressed for a winner. Ivory Coast had chances to kill them on the counter – Adingra blazed over with the goal gaping. And then, deep into stoppage time, Undav trapped an Nmecha through-ball and slotted calmly past the keeper. 2-1. Germany are through. Undav – the super sub – has now equalled Roger Milla’s record for most goals scored from the bench at a single World Cup.

Goals: Undav (68′, 90+’) – Germany; Kessié (30′) – Ivory Coast

Ecuador 0-0 Curaçao – Group E

The result of the tournament for Curaçao. Goalkeeper Eloy Room made 15 saves – the most by any goalkeeper in 90 minutes of World Cup football since records began in 1966. A clean sheet. A point. For a nation of 160,000 people making their first ever World Cup appearance, it’s an extraordinary moment. Ecuador are frustrated and in trouble in Group E.

Goals: None

Japan 4-0 Tunisia – Group F

Tunisia are going home. Japan made sure of it emphatically. Kamada got an early goal, Ueda scored twice, Ito added a fourth. A statement win that takes Japan to 4 points and all but secures their place in the Round of 32. Tunisia’s manager had already been sacked after their 5-1 loss to Sweden. The replacement couldn’t change anything.

Goals: Kamada, Ueda (2), Ito – Japan

Match Centre · Built from the response FIFA World Cup 2026
Germany
Germany
2
1
Full Time
20 Jun 2026 · WC2026 · HT 0–1
Côte d'Ivoire
Côte d'Ivoire
D. Undav 68', 90+4'
Germany
F. Kessié 30'
Côte d'Ivoire
⚽ D. Undav 2–1 Left foot shot · ast: F. Nmecha
90+4'
L. Goretzka Havertz
85'
85'
N. Pépé Y. Diomande
82'
G. Doué Singo 🤕
75'
S. Adingra Amad Diallo
75'
S. Fofana Sangaré
75'
E. Guessand Bonny
⚽ D. Undav 1–1 Left foot shot · ast: N. Amiri
68'
N. Amiri Pavlovic
60'
J. Leweling Sané
60'
D. Undav Musiala
60'
A. Rüdiger Schlotterbeck 🤕
46'
30'
⚽ F. Kessié 0–1 Right foot shot
Germany Germany · 4-2-3-1
1M. Neuer
6J. KimmichC
4J. Tah
15N. Schlotterbeck
18N. Brown
23F. Nmecha
5A. Pavlovic
19L. Sané
10J. Musiala
17F. Wirtz
7K. Havertz
Côte d'Ivoire Côte d'Ivoire · 4-1-4-1
1Y. Fofana
5W. Singo
7O. Kossounou
20E. Agbadou
3G. Konan
18I. Sangaré
15Amad Diallo
8F. Kessié ⚽C
26C. Oulaï
11Y. Diomande
9A. Bonny
Top Rated
D. Undav† 8.65 J. Kimmich 7.65 F. Nmecha 7.49 C. Oulaï 7.46 I. Sangaré 7.38 N. Amiri† 7.30 J. Tah 7.24 Y. Fofana 7.23 Y. Diomande 7.10 F. Wirtz 7.03
† substitute appearance
60% Possession 40%
16 Total Shots 9
7 Shots on Target 2
1.68 xG 1.67
624 Passes 431
89% Pass Accuracy 85%
8 Corners 3
26 Tackles 20
1 Saves 5
5 Fouls 7
Pre-Match Win Probability
Germany
55.85%
Draw
22.00%
Côte d'Ivoire
22.15%
Other Markets
BTTS – Yes
56.55%
BTTS – No
43.45%
xG Summary
Germany xG
1.6813
Côte d'Ivoire xG
1.6732
xG was virtually level (1.68 vs 1.67) despite Germany winning. CIV led at half-time through Kessié (30'). Undav came off the bench to equalise (68') and seal it in stoppage time (90+4'). No cards in the match.
GET /fixtures/19609135 200 OK
// Sportmonks fixture 19609135 — Germany vs Côte d'Ivoire
// WC2026 Group Stage · 20 Jun 2026 · 20:00 UTC
{
  "fixture_id": 19609135,
  "league_id":  732,
  "season_id":  26618,
  "name":       "Germany vs Côte d'Ivoire",
  "starting_at": "2026-06-20 20:00:00",
  "result_info": "Germany won after full-time",
  "state": { "state": "FT" },
  "scores": [
    { "description": "CURRENT",
      "score": { "goals": 2, "participant": "home" } },
    { "description": "CURRENT",
      "score": { "goals": 1, "participant": "away" } },
    { "description": "1ST_HALF",
      "score": { "goals": 0, "participant": "home" } },
    { "description": "1ST_HALF",
      "score": { "goals": 1, "participant": "away" } }
  ],
  "participants": [
    { "id": 18660, "name": "Germany",
      "meta": { "location": "home", "winner": true } },
    { "id": 18560, "name": "Côte d'Ivoire",
      "meta": { "location": "away", "winner": false } }
  ],
  "events": [
    { "minute": 30,  "type": "goal",
      "player_name": "Franck Kessié",
      "team_id": 18560, "result": "0-1",
      "shot_type": "right-footed-shot" },
    { "minute": 46,  "type": "substitution",
      "player_name": "Rüdiger",
      "related_player_name": "Schlotterbeck",
      "team_id": 18660, "injured": true },
    { "minute": 60,  "type": "substitution",
      "player_name": "Amiri",
      "related_player_name": "Pavlovic",
      "team_id": 18660 },
    { "minute": 60,  "type": "substitution",
      "player_name": "Leweling",
      "related_player_name": "Sané",
      "team_id": 18660 },
    { "minute": 60,  "type": "substitution",
      "player_name": "Undav",
      "related_player_name": "Musiala",
      "team_id": 18660 },
    { "minute": 68,  "type": "goal",
      "player_name": "Deniz Undav",
      "assist_player_name": "Nadiem Amiri",
      "team_id": 18660, "result": "1-1",
      "shot_type": "left-footed-shot" },
    { "minute": 75,  "type": "substitution",
      "player_name": "Adingra",
      "related_player_name": "Amad Diallo",
      "team_id": 18560 },
    { "minute": 75,  "type": "substitution",
      "player_name": "Seko Fofana",
      "related_player_name": "Sangaré",
      "team_id": 18560 },
    { "minute": 75,  "type": "substitution",
      "player_name": "Guessand",
      "related_player_name": "Bonny",
      "team_id": 18560 },
    { "minute": 82,  "type": "substitution",
      "player_name": "Guela Doué",
      "related_player_name": "Singo",
      "team_id": 18560, "injured": true },
    { "minute": 85,  "type": "substitution",
      "player_name": "Goretzka",
      "related_player_name": "Havertz",
      "team_id": 18660 },
    { "minute": 85,  "type": "substitution",
      "player_name": "N. Pépé",
      "related_player_name": "Y. Diomande",
      "team_id": 18560 },
    { "minute": 90, "extra_minute": 4,
      "type": "goal",
      "player_name": "Deniz Undav",
      "assist_player_name": "Felix Nmecha",
      "team_id": 18660, "result": "2-1",
      "shot_type": "left-footed-shot" }
  ],
  "xgfixture": [
    { "team_id": 18660, "xg": 1.6813 },
    { "team_id": 18560, "xg": 1.6732 }
  ],
  "statistics": [
    { "type": "possession",    "home": 60,  "away": 40  },
    { "type": "shots",         "home": 16,  "away": 9   },
    { "type": "shots_on_target", "home": 7,   "away": 2   },
    { "type": "passes",        "home": 624, "away": 431 },
    { "type": "pass_accuracy",  "home": 89,  "away": 85  },
    { "type": "corners",       "home": 8,   "away": 3   },
    { "type": "tackles",       "home": 26,  "away": 20  },
    { "type": "saves",         "home": 1,   "away": 5   },
    { "type": "fouls",         "home": 5,   "away": 7   }
  ],
  "predictions": [
    { "name": "Home Win",  "value": 55.85 },
    { "name": "Draw",      "value": 22.00 },
    { "name": "Away Win",  "value": 22.15 },
    { "name": "BTTS Yes",  "value": 56.55 },
    { "name": "BTTS No",   "value": 43.45 }
  ],
  "lineups": [
    // Germany starters (type_id 11)
    { "player_name": "Manuel Neuer",        "jersey_number": 1,  "player_id": 30642,    "rating": 6.52 },
    { "player_name": "Joshua Kimmich",       "jersey_number": 6,  "player_id": 32362,    "rating": 7.65, "captain": true },
    { "player_name": "Jonathan Tah",         "jersey_number": 4,  "player_id": 31836,    "rating": 7.24 },
    { "player_name": "Nico Schlotterbeck",   "jersey_number": 15, "player_id": 3862352,  "rating": 6.39 },
    { "player_name": "Nathaniel Brown",      "jersey_number": 18, "player_id": 37538035, "rating": 6.59 },
    { "player_name": "Felix Nmecha",         "jersey_number": 23, "player_id": 6306127,  "rating": 7.49 },
    { "player_name": "Aleksandar Pavlovic", "jersey_number": 5,  "player_id": 37582044, "rating": 6.72 },
    { "player_name": "Leroy Sané",           "jersey_number": 19, "player_id": 4783,     "rating": 6.49 },
    { "player_name": "Jamal Musiala",        "jersey_number": 10, "player_id": 33186829, "rating": 6.76 },
    { "player_name": "Florian Wirtz",        "jersey_number": 17, "player_id": 37429246, "rating": 7.03 },
    { "player_name": "Kai Havertz",          "jersey_number": 7,  "player_id": 32612,    "rating": 6.13 },
    // Germany subs used
    { "player_name": "Antonio Rüdiger",     "jersey_number": 2,  "player_id": 31837,    "rating": 6.96 },
    { "player_name": "Nadiem Amiri",        "jersey_number": 20, "player_id": 32585,    "rating": 7.30 },
    { "player_name": "Jamie Leweling",      "jersey_number": 9,  "player_id": 12426453, "rating": 6.64 },
    { "player_name": "Deniz Undav",         "jersey_number": 26, "player_id": 41077,    "rating": 8.65 },
    { "player_name": "Leon Goretzka",       "jersey_number": 8,  "player_id": 31824,    "rating": 6.60 },
    // CIV starters (type_id 11)
    { "player_name": "Yahia Fofana",        "jersey_number": 1,  "player_id": 433194,   "rating": 7.23 },
    { "player_name": "Wilfried Singo",      "jersey_number": 5,  "player_id": 31640130, "rating": 6.89 },
    { "player_name": "Odilon Kossounou",   "jersey_number": 7,  "player_id": 28931733, "rating": 6.79 },
    { "player_name": "Emmanuel Agbadou",   "jersey_number": 20, "player_id": 37261923, "rating": 6.50 },
    { "player_name": "Ghislain Konan",     "jersey_number": 3,  "player_id": 161197,   "rating": 6.81 },
    { "player_name": "Ibrahim Sangaré",    "jersey_number": 18, "player_id": 96943,    "rating": 7.38 },
    { "player_name": "Amad Diallo",         "jersey_number": 15, "player_id": 37317015, "rating": 6.28 },
    { "player_name": "Franck Kessié",      "jersey_number": 8,  "player_id": 129906,   "rating": 6.95, "captain": true },
    { "player_name": "Christ Inao Oulaï",  "jersey_number": 26, "player_id": 37761103, "rating": 7.46 },
    { "player_name": "Yan Diomande",       "jersey_number": 11, "player_id": 37922937, "rating": 7.10 },
    { "player_name": "Ange-Yoan Bonny",    "jersey_number": 9,  "player_id": 37533560, "rating": 6.64 }
  ]
}

Day 11 – June 21

Spain came roaring back. Egypt made history. Cape Verde did it again.

Spain 4-0 Saudi Arabia – Group H

After the shock of being held 0-0 by Cape Verde, Spain came to Atlanta with something to prove. They delivered.

Lamine Yamal, 18, started for the first time at this tournament – his hamstring not fully right but good enough. In the 10th minute, Oyarzabal whipped a ball to the back post and Yamal slid in his first World Cup goal. The second player aged 18 or under to open the scoring in a World Cup game – the first since Pelé in 1958. Oyarzabal then scored twice himself in the space of three minutes (21′, 24′), hitting the crossbar shortly after as he chased a first-half hat-trick. 3-0 at the break. De la Fuente substituted both Yamal and Oyarzabal at half-time to protect them. An Altambakti own goal on 49 sealed it 4-0. Spain are back. Saudi Arabia are in deep trouble heading into their final group game.

Goals: Yamal (10′), Oyarzabal (21′, 24′), Altambakti OG (49′) – Spain

Belgium 0-0 Iran – Group G

Belgium have now drawn both of their World Cup matches, despite having De Bruyne and Lukaku available. Iran were organised, disciplined, and comfortable with the point. Group G remains completely congested with three teams still able to qualify going into the final round.

Goals: None

Uruguay 2-2 Cape Verde – Group H

The Cape Verde story refuses to end. Kevin Pina scored their first ever World Cup goal in the 21st minute – a thunderous free-kick from 30 yards that flew into the top corner. Uruguay dominated possession and eventually turned it around through Araújo on 44 and Canobbio in the 6th minute of stoppage time to lead 2-1 at half-time. But substitute Hélio Varela, barely seconds after coming on, capitalised on a calamitous sideways pass from Olivera that drew goalkeeper Muslera off his line – and tapped into an empty net. 2-2. Uruguay had a late goal ruled out for offside. Bielsa’s side have just two points from two games and face Spain next. Cape Verde, with two points, still have a realistic shot at the Round of 32.

Goals: Araújo (44′), Canobbio (45+6′) – Uruguay; Pina (21′), Varela (60′) – Cape Verde

New Zealand 1-3 Egypt – Group G

Egypt have won a World Cup match. For the first time in 92 years of trying.

New Zealand led at half-time through Finn Surman’s flying header from a corner. Egypt were poor in the first half. Then they came out after the break and were a completely different team. Mostafa Zico equalised with a header on 58, then set up Salah perfectly to make it 2-1 on 67 – Zico back-heeling into space for Salah to dribble into the box and finish left-footed into the bottom corner. Salah’s 68th international goal. The oldest Egyptian goalscorer in World Cup history. Trezeguet’s diving header from a Salah corner wrapped it up on 82. When Salah was substituted on 85, BC Place gave him a standing ovation. “It feels like we’re playing in Egypt,” he said.

Egypt top Group G. New Zealand need to beat Belgium to have any hope of going through.

Goals: Surman (15′) – New Zealand; Zico (58′), Salah (67′), Trezeguet (82′) – Egypt