Soon after Angel Correa was dismissed for elbowing Antonio Rudiger, Jose Gimenez handed the visitors a startling lead.
Alvaro Rodriguez, a teenager, though, gave Real a point with his debut strike for the team.
The host team trails league-leading Barcelona, which plays on Sunday, by seven points.
The team of Carlo Ancelotti dominated the first period, although there weren’t many clear-cut chances before the break.
Both teams struggled to find a breakthrough as Marco Asensio stung Jan Oblak’s hands at one end and Yannick Carrasco fired straight at Thibaut Courtois at the other.
As Rudiger was struck in the chest with a swinging arm by halftime replacement Correa, the match suddenly picked up steam in the second half.