Real Betis secured a 1-0 win over Real Madrid in Seville as Troy Parrott scored his first La Liga goal and Alvaro Valles saved a late Kylian Mbappe penalty.
Real Madrid dominate but fail to score
Madrid made the stronger start and controlled 74% of possession during the opening 15 minutes.
Valles was forced into his first major save in the 11th minute, reacting well to keep out Dean Huijsen’s effort following a short corner.
Vinicius then struck the post four minutes later after a clever move involving Mbappe and Arda Guler, while Betis gradually began to threaten on the counter.
Madrid continued to create openings as the half progressed. Jude Bellingham saw a header saved by Valles, while Mbappe was denied by Marc Bartra and then blocked again after following up.
Betis also came close before the break, with Cucho Hernandez dragging a volley wide after good work from Antony.
Huijsen came closest to breaking the deadlock in first-half stoppage time, heading towards goal from a corner before Valles tipped the ball over the bar.
Parrott makes the difference
The second half followed a similar pattern, with Madrid enjoying plenty of the ball but struggling to turn their possession into a goal.
Mbappe fired wide from distance early after the restart, while Valles continued to provide a reliable presence behind the Betis defence.
Jose Mourinho responded with a triple substitution in the 64th minute, introducing Bernardo Silva, Trent Alexander-Arnold and Yan Diomande.
Trent immediately looked to influence proceedings from the right, but Betis remained organised and continued to frustrate the visitors.
Troy Parrott was introduced for Juan Hernandez in the 68th minute and made his mark late on.
The Irish forward put Betis ahead in the 81st minute after Deossa’s header from a corner was saved by Courtois. Parrott reacted quickest to the rebound and fired into the net from close range.
Madrid pushed forward in search of an equaliser, with Mbappe seeing a cross clip the crossbar in the 85th minute.
Espi then appeared to have levelled the contest three minutes later after finishing a Vinicius cross, but VAR ruled the goal out for offside.
Mbappe penalty miss seals Madrid defeat
Real Madrid’s best chance to rescue a point arrived in the fourth minute of added time.
Vinicius reached the byline before sending the ball back across the area, with Natan sliding in and bringing the Brazilian down.
Mbappe stepped up to take the penalty but saw his stuttered run-up followed by Valles, who dived to his left to make the save.
Madrid appealed for a retake over the goalkeeper’s position, but the decision stood.
Valles made another save in the seventh minute of added time to deny Espi as Betis saw out the remaining minutes.