After a star performance from the bench against Levante last Sunday, Vinicius Junior started for the first time under Carlo Ancelotti with Eden Hazard dropping to the bench.
Madrid were set for an early lead after a spell of pace from Vinicius beat Guido Rodriguez in a one-on-one duel to play Karim Benzema in goal, but the Frenchman the upright missed by a whisker.
Manuel Pellegrini's men started to take charge a minute following the half-hour mark, as a rasping shot from afar by Nabil Fekir had goalkeeper Thibaut Courtois in a spot of bother.
Betis maintained momentum before the interval and worked Courtois to a low save through a snap shot from close-range by Juanmi following clever bit of play.
There were no substitutions on either side before the resumption of the second half, but Madrid remained calm and very nearly broke the deadlock from a smart shot and clever play by Benzema.
The Frenchman witnessed the back of the net rattle seven minutes into the restart when he headed in Carlos Casemiro's cross, but the assistant referee waved the flag for offside.
Los Blancos eventually had the breakthrough after Dani Carvajal ran into the area 61 minutes gone to volley a floating ball across the area by Benzema into the far corner.
A double change from Ancelotti followed within five minutes and Isco made way for Lucas Vazquez to Marco Asensio coming on to take the place of Gareth Bale.
Asensio almost made an impact just after entering as he intercepted a loose pass in the middle to go clear and shave the bottom-corner with a low shot.
Los Blancos should've added a second just before time through substitute Hazard's first-time shot, while Courtois at the other end denied Martin Montoya the equaliser, as the clash concluded.