Carvajal volleyed home a cross from Karim Benzema to break the deadlock in the 61st minute in his first start for Real since April after missing most of last season and the European Championship due to a series of injuries.
Carvajal struck immediately after Betis had squandered a glorious chance to take the lead when they won the ball deep in the visitors' half but striker Juanmi misplaced a pass when he had the opportunity to shoot.
- Real Madrid ratings: 8/10 for Carvajal, 7/10 for Courtois
Carlo Ancelotti's Madrid side provisionally lead the table on seven points after their first three games, all of which have been away, having beaten Alaves 4-1 and drawn 3-3 with Levante.
Betis have two points and remain without a win.
"The goal meant a lot to me as I've had a long difficult time on a personal level. I've spent so long working hard behind the scenes to get fit again and hopefully this year will be different," Carvajal said.
Real were missing key players with Luka Modric, Toni Kroos and Ferland Mendy injured while Eden Hazard was dropped to the bench by Ancelotti, who picked Vinicius Jr from the start after the Brazilian scored two goals as a substitute at Levante.
Their first half performance suggested they could certainly do with the dynamism and ruthlessness of Mbappe to liven up their attack.
Benzema had their best effort in the first half when he fizzed a shot just wide, while Eder Militao had their only attempt on target before the break with a header straight into the arms of goalkeeper Rui Silva.
But they did at least produce a cohesive display contrasting with the anarchy of last week's eventful game at Levante.
"We'd been scoring a lot of goals in the last two games but conceded a lot too so it was important to give a balanced performance before the international break," added Carvajal.
"We began the game really well then struggled to play together. We showed more intensity after the break and tried to push them higher up the pitch."