Match ends, Real Betis 1, Real Madrid 2.
Real Madrid earn late win at Real Betis
Real Madrid edged past Real Betis to climb into the La Liga top four with a first win in three matches.
Betis looked set to earn a deserved point until Dani Ceballos' late free-kick nestled into the bottom corner.
Real were given an early lead by Luka Modric, but the home side dominated possession and equalised through Segio Canales after an offside decision was overturned by VAR.
Madrid climb to fourth, but remain 10 points behind leaders Barcelona.
Earlier on Sunday, Lionel Messi became the first player to score 400 La Liga goals as Barca recorded their seventh successive win to maintain their five-point lead at the top of the table.
Real, European champions in the past three seasons, are nowhere in the title race. They are behind third-placed Sevilla on goal difference and a point ahead of Alaves in fifth.
Though they saw much less of the ball, the visitors had the better of the early chances and Modric's clinical finish gave them a lead they merited.
Federico Valverde could have made it two, but he hesitated when through on goal, allowing Antonio Barragan to make a sliding tackle.
Betis applied pressure of their own before half-time and again after the break - Andres Guardado volleyed past the post from the edge of the 18-yard box.
When Canales got between the Madrid centre-backs and slid in a finish, the goal looked set to be ruled out for offside, only for VAR to overturn the onfield decision.
Madrid introduced Brahim Diaz, the 19-year-old signed from Manchester City, for his La Liga debut, but were struggling to silence the raucous crowd in Seville.
That was until the intervention of former Betis man Ceballos, himself a substitute. His free-kick penetrated a flimsy wall and went past unsighted home keeper Pau Lopez to give Madrid their first league win since their triumph at the Club World Cup in December.
- 2Guerrero MartínSubstituted forTelloat 67'minutes
- 21Lo Celso
- 14William CarvalhoBooked at 86mins
- 18GuardadoBooked at 4minsSubstituted forBoudebouzat 85'minutes
- 9SanabriaSubstituted forMorónat 88'minutes
- 17Sánchez Rodríguez
- 3García Fernández
- 4RamosBooked at 42mins
- 15ValverdeBooked at 62minsSubstituted forDíazat 82'minutes
- 23ReguilónSubstituted forCeballosat 74'minutes
- 10ModricBooked at 35mins
- 28Vinícius Júnior
- 9BenzemaSubstituted forGonzálezat 45'minutes
- Alejandro José Hernández Hernández
- Shots on Target
Second Half ends, Real Betis 1, Real Madrid 2.
Corner, Real Betis. Conceded by Brahim Díaz.
Sergio Canales (Real Betis) wins a free kick in the defensive half.
Foul by Luka Modric (Real Madrid).
Corner, Real Madrid. Conceded by Antonio Barragán.
Hand ball by Cristo González (Real Madrid).
Foul by Marc Bartra (Real Betis).
Daniel Carvajal (Real Madrid) wins a free kick in the defensive half.
Goal! Real Betis 1, Real Madrid 2. Dani Ceballos (Real Madrid) from a free kick with a right footed shot to the bottom right corner.
Substitution, Real Betis. Loren Morón replaces Antonio Sanabria.
William Carvalho (Real Betis) is shown the yellow card for a bad foul.
Foul by William Carvalho (Real Betis).
Casemiro (Real Madrid) wins a free kick in the attacking half.
Substitution, Real Betis. Ryad Boudebouz replaces Andrés Guardado.
Attempt missed. Cristian Tello (Real Betis) left footed shot from the left side of the box misses to the left. Assisted by Antonio Barragán.
Substitution, Real Madrid. Brahim Díaz replaces Federico Valverde.
Corner, Real Betis. Conceded by Nacho.
Corner, Real Betis. Conceded by Nacho.
Attempt blocked. Giovani Lo Celso (Real Betis) left footed shot from outside the box is blocked. Assisted by Sergio Canales.
Corner, Real Betis. Conceded by Raphael Varane.
Corner, Real Betis. Conceded by Sergio Ramos.
Substitution, Real Madrid. Dani Ceballos replaces Sergio Reguilón.
Foul by Sergio Canales (Real Betis).
Sergio Reguilón (Real Madrid) wins a free kick on the left wing.
VAR: Goal. Referee decision on field cancelled.
Delay over. They are ready to continue.
Delay in match (Real Betis). Video Review.
Goal! Real Betis 1, Real Madrid 1. Sergio Canales (Real Betis) left footed shot from the centre of the box to the centre of the goal. Assisted by Giovani Lo Celso with a through ball.
Substitution, Real Betis. Cristian Tello replaces Francis.
Federico Valverde (Real Madrid) is shown the yellow card for a bad foul.
Giovani Lo Celso (Real Betis) wins a free kick on the right wing.
Foul by Federico Valverde (Real Madrid).
Antonio Sanabria (Real Betis) wins a free kick in the attacking half.
Foul by Sergio Ramos (Real Madrid).
Attempt missed. Andrés Guardado (Real Betis) left footed shot from outside the box is close, but misses to the right.
Offside, Real Madrid. Cristo González tries a through ball, but Vinícius Júnior is caught offside.
Attempt blocked. Cristo González (Real Madrid) right footed shot from outside the box is blocked. Assisted by Vinícius Júnior.
Foul by Giovani Lo Celso (Real Betis).
Luka Modric (Real Madrid) wins a free kick in the defensive half.