Los Blancos, who had already been held by Levante and Valencia in their opening two home league fixtures, fell to just a second league loss on their own patch in 27 games through Antonio Sanabria's headed winner in the fourth minute of added time.
Madrid had numerous chances to win the game in a dominant second-half showing, but they failed to find a way past opposition keeper Antonio Adan and left themselves exposed at the death when overcomitting bodies in attack.
Betis, beaten here in each of their last seven visits prior to tonight, had a glorious chance to open the scoring with less than three minutes on the clock when Casemiro was caught out.
Camarasa did have a pop from the same attacking move, testing Keylor Navas with a good stop, while Fabian Ruiz's drive - this time after a poor Carvajal throw-in - also had to be helped over later in the half.
The hosts were not exactly having things their own way, but they did grow into the first half as it went on, coming close through a couple of Cristiano Ronaldo attempts on his return to the side.
The Portuguese's first effort of the evening deflected wide, while his second was a well-struck shot from the edge of the box that Adan had to get behind.
Luka Modric was proving to be Los Blancos' liveliest player in an attacking sense, however, bursting forward on one occasion and sending a shot into the side-netting, before volleying over the crossbar when spotted in a good position by Carvajal.
Madrid's only other chance of a fairly disappointing first half fell the way of Isco, who required one touch to control Modric's pass and another to curl the ball towards the bottom corner - Adan again there to push it aside.
Normal service was resumed early in the second period as Ronaldo, absent for his side's last five domestic games due to an extended ban, side-footed over the bar at the end of a Gareth Bale cross.
Then came a big moment in the match when Francis Guerrero fired over after finding himself with plenty of space to get a shot away, seconds before Carvajal clipped the frame of the goal at the other end with a back-post volley.
Among those to come on was Borja Mayoral after an impressive performance last time out, but he was to be denied by an inspired Adan soon after being introduced.
That came moments after an audacious attempt from Bale was helped onto the crossbar by the 30-year-old Spaniard, who was having to endure a real bombardment on his goal.
It would be Betis, who had claimed just one win in 10 away games prior to tonight, who found the game's only goal late on thanks to Sanabria's back-post header from Antonio Barragan's cross after peeling off his man.
Madrid find themselves seven points behind leaders Barcelona after five games, with a trip to Alaves next up on Saturday afternoon.