Zinedine Zidane's side trailed 2-1 at half-time but hit back with goals from Sergio Ramos, Cristiano Ronaldo and Karim Benzema to take all three points.
Zidane made changes to his team and named an attacking lineup with Gareth Bale, Asensio and Ronaldo all starting. The two clubs shared their teams on Twitter:
The visitors made a great start to the match as Asensio headed them in front after 11 minutes. Ronaldo's shot was only parried by goalkeeper Antonio Adan, and Asensio headed the ball past the stranded goalkeeper.
Journalist Tom McDermott was critical of Betis' defending:
However, the visitors came back at Real Madrid and almost equalised through Joaquin. The Betis captain fired in a brilliant free-kick from range, but a diving Keylor Navas managed to touch it to safety.
Real Madrid then suffered a blow when left-back Marcelo pulled up with an injury and had to be substituted. Goal's Ben Hayward was critical of Zidane's decision to select him for this game:
Madrid sent on Theo Hernandez in his place, and within minutes Betis had equalised. Joaquin swung in a cross from the left, and Aissa Mandi headed home.
Real Betis were the better team by this point and duly took the lead through a Nacho Fernandez own goal. Junior Firpo raced forwards, and his shot beat Navas before being bundled over the line by Nacho.
The visitors took just five minutes of the second half to level the match. Lucas Vazquez sent in a corner, and Ramos powered a header past Adan. Having levelled the scores, Real Madrid began to gain the upper hand and twice went close through Gareth Bale.
The pressure eventually told as Dani Carvajal raced down the right and crossed for Asensio to side-foot home. Spanish football journalist Richard Martin said Asensio is the answer to Real Madrid's problems:
Opta showed how it was a landmark goal for the visitors:
Real Madrid then put the game out of reach as Ronaldo rifled home after a great chip from Casemiro to make it 4-2. Freelance football writer Simon Harrison felt the goalkeeper ought to have done better:
There was still time for further drama as Sergio Leon tapped home Junior's cross late on, before substitute Benzema fired home the visitors' fifth in stoppage time. It was another fairly chaotic performance from Real Madrid, but they were clinical in attack, which proved too much for Betis.