Dani Carvajal grabbed the decisive goal on the hour mark for Carlo Ancelotti's men, steering Karim Benzema's stood-up cross into the far corner.
There was little to separate the sides in the first half as Los Blancos failed to test Rui Silva in the Real Betis goal, while Nabil Fekir troubled Thibaut Courtois with a quick free-kick.
However, the visitors came out of the blocks quickly in the second period, with Benzema heading beyond Silva only for the linesman to raise his flag. Ancelotti's side continued to pour forward and they were rewarded when Dani Carvajal, making his first Real Madrid start in over 100 days, directed Benzema's cross into the bottom corner with an expert volley.
Here's how the Real Madrid players rated.
Real Madrid player ratings
1. Goalkeeper & Defenders
Thibaut Courtois (GK) - 6/10 - An assured presence between the sticks, the Belgian impressed when called upon.
Dani Carvajal (RB) - 8/10 - Looked surprisingly sharp in his first start in over 100 days, and showed exceptional skill to control his side-foot volley from Benzema's cross.
Eder Militao (CB) - 7/10 - A commanding presence at the heart of the defence, the 23-year-old was imperious all evening.
David Alaba (CB) - 6/10 - Very effective at bringing the ball out of defence, the Austrian used his searing recovery pace to great effect on a few occasions.
Miguel Gutierrez (LB) - 7/10 - The 20-year-old didn't offer the regular thrust in the final third that Marcelo often does, but he did himself no harm with an impressive display. Excellent delivery for Vinicius Junior's chance in the second period.
Casemiro (DM) - 6/10 - Tidy in possession, but often committed himself too aggressively defensively and allowed Nabil Fekir to receive the ball in dangerous areas in the first half. Improved after the interval.
Isco (CM) - 6/10 - Moved with guile, though the Spaniard was wasteful with his final ball and left Ancelotti frustrated on the touchline.
Federico Valverde (CM) - 6/10 - Linked effectively with Carvajal on the right hand side, although didn't impact the game sufficiently in the final third.
Gareth Bale (RW) - 5/10 - Quiet throughout, often lacking conviction in the final third as he appeared a yard off the pace.
Karim Benzema (ST) - 7/10 - Lacked service inside the penalty area, but underlined his importance to Real Madrid by providing the assist for Carvajal's strike.
Vinicius Junior (LW) - 6/10 - Looked like he was operating on a different stratosphere in the opening exchanges, but frustrated as the game went on. Showed great speed to keep the ball in play in the lead up to Carvajal's goal.
Marco Asensio (CM) - 6/10 - Ancelotti is repurposing the Spaniard as a central midfielder and he nearly got on the scoresheet with a driving run.
Lucas Vazquez (RW) - 5/10 - Didn’t impact the game after replacing Bale and was moved back to full back.
Eden Hazard (LW) - N/A
Rodrygo (RW) - N/A