A lacklustre Blancos outfit were sunk by an early strike from the midfielder, and could see the gap at the top move into double digits should Barcelona beat Levante on Sunday
Benat scored the only goal of the game 17 minutes in, drilling home from the edge of the area after a lapse at the back from los Blancos, who, despite large spells of pressure in the second half, could not find a way through the dogged defensive ranks of a home side that now move joint-fourth in the standings.
More significantly, though, the result means that should league leaders Barcelona emerge victorious at Levante on Sunday, then third-placed Madrid will find themselves facing an 11-point gap to make up on the Catalans, with a crucial derby against second-placed Atletico Madrid to come in a weeks' time.
Jose Mourinho made one change to the side that played out a 1-1 draw at Manchester City midweek, with Mesut Ozil stepping into the side to replace Luka Modric.
The visitors fashioned the first chance in the ninth minute when a determined run down the wing by Cristiano Ronaldo saw him tee up Sami Khedira at the edge of the area, but the Germany international could not find the target.
Khedira was then found wanting soon after as he was brushed off with ease by Benat, who picked his spot superbly at the edge of the area and drilled into the bottom corner - the opening coming after Angel Di Maria had given the ball away cheaply.
Betis were playing with great spirit and with the home fans in full voice, they found another way through the visitors' defence when Ruben Castro raced clear down the left, but he saw his lash across goal tipped away from danger by Iker Casillas.
Madrid finally began to show some positive signs after the half-hour mark and their best opening of the half came when a sublime one-two between Karim Benzema and Mesut Ozil saw the latter play in Di Maria, whose subsequent shot clipped the bar.
The champions should have been level nine minutes before the break after Benzema turned home Xabi Alonso's free kick, but the goal was disallowed for offside despite the Frenchman appearing to be level with the last defender.
However, sloppiness and lethargy were endemic throughout the Madrid performance in the first half, as emphasised when Casillas gave the ball away in a dangerous position after electing to engage in keep-ups on his own goal-line.
Mourinho could see that his team were in need of a jolt at the break, and replaced Khedira and Ozil with Modric and Kaka, respectively, for the start of the second half.
The outcome was a more urgent performance in the attacking third, though despite their improved endeavor, they still lacked a cutting edge in front of goal.
Benzema seemed poised to tap in Ronaldo's centre on the hour mark, but Antonio Amaya did just enough to touch the ball out of the Frenchman's path.
Kaka tried his luck moments later with a strong effort from 25 yards out, but Adrian was equal to it and pushed away from danger.
However, Madrid's eagerness to get forward left gaps at the back, and Betis had two opportunities to pounce on the break. First, Salva Sevilla shot wide after finding space inside the area, before substitute Jorge Molina played in Ruben Castro, who blazed over from inside the box.
Still, the visitors had chances late to get back into the game. Ronaldo's free kick forced the best out of Adrian, who was on his game again to deny Pepe's header from the resulting corner with nine minutes remaining.
But time simply ran out for Madrid, who could not salvage anything from the game, and must now pick themselves up in time for their now must-win local derby at home against high-flying Atletico next weekend.