- Vinícius Júnior (9')
- Rodrygo (65')
- Sergio Canales (17')
Madrid struck first when David Alaba passed to Vinicius Junior with a magnificent long ball in the 9th minute, and the Brazilian raced forward and lobbed the ball over Betis goalkeeper Rui Silva's head.
Carlo Ancelotti's team fought back with a vengeance but missed several opportunities until they finally managed to break the deadlock in the 65th minute, when Rodrygo thumped home a close-range finish from a Federico Valverde cross.
Real Madrid now top the table on 12 points, the only team to win all of their first four games.
"We are happy but it's only the beginning of the season, we need to keep improving," Rodrygo told Movistar Plus.
"I'm glad that I could help my team when we desperately needed but also happy to play my first game from the start.
"I'm coming back from an injury but feeling great. I want to be a starter and I think I have what it takes."
One of the heroes of Real's run of comebacks to win the Champions League last season, the 21-year-old Brazil forward missed Real's first two games of the season with a leg muscle injury. He then came off the bench to deliver an assist last week against Espanyol.
On Saturday he started alongside Vinicius and Karim Benzema and helped Real create several chances as they enjoyed overwhelming control. But they were frustrated at times by a lack of precision in front of goal and also by an inspired Silva, who made three brilliant stops before Rodrygo managed to put Real back in front.
He has added quality and an extra gear in the transition going forward to Ancelotti's team, turning any uncertainty among fans into a sense of optimism about the future.
- José María Sánchez Martínez