Reports: Real Betis 1-1 Real Madrid
Bellingham slotted Madrid ahead at the Benito Villamarin early in the second half after combining magnificently with Brahim Diaz.
But Ruibal drilled an angled shot into the top corner from outside the area to earn Betis a point and extend their unbeaten run in La Liga to 11 matches.
“It was a good game, competitive and even, the result is a fair one,” said Madrid coach Carlo Ancelotti.
“I’m satisfied because you’re not always going to be able to win every game.”
Madrid pulled one point clear of Girona but could lose top spot on Sunday if the surprise challengers beat neighbours Barcelona in a Catalan derby.
The visitors thought they had taken the lead when Diaz turned in from close range on 16 minutes after a superb exchange between Bellingham and Rodrygo.
Bellingham backheeled the ball towards Rodrygo who slid the ball between the legs of a defender. An attempted clearance ricocheted off Rodrygo and left Diaz with a tap-in, but the Brazilian was offside in the build-up.
Chasing a fifth successive home league win, Betis twice went close as Ayoze Perez saw an attempt well saved by Andriy Lunin before Willian Jose bent an effort narrowly wide of the far post.
Betis goalkeeper Rui Silva clawed behind a long-range drive from Luka Modric, but he was powerless to stop Bellingham breaking the deadlock eight minutes after half-time.
The England midfielder retrieved the ball deep in Betis territory near the touchline, finding Diaz and chesting down the scooped return pass as he strode into the box and stroked past Silva.
Madrid’s lead lasted only 13 minutes as Ruibal was afforded far too much time and space before he rifled home from 20 metres, grabbing his first league goal in a two-and-a-half years.
Both teams pushed for a winner and former Madrid attacker Isco nearly undid his old club when he headed against the post.
Joselu dribbled an effort agonisingly wide in stoppage time at the other end before Lunin tipped over centre-back Chadi Riad’s header with the last touch of the game.
“Nobody can say it’s a bad point against Real Madrid, but I think we deserved the three points,” said Betis coach Manuel Pellegrini.
Las Palmas continued their promising run on their return to the top flight, winning 1-0 at Alaves courtesy of Kirian Rodriguez’s goal that moved them back up to eighth place.
Barca could trim the gap to Madrid to two points if they beat Girona on Sunday, while Atletico Madrid will attempt to bounce back from last weekend’s defeat at Montjuic when they play bottom club Almeria.