Toni Kroos was sent off for the first time in his career as unbeaten Real Madrid went top of La Liga thanks to a dramatic draw with Girona.
Real thought they had won the game when Vinicius Jr slid Federico Valverde's low cross into an empty net.
But veteran Cristhian Stuani equalised from the spot with his first touch following a Marco Asensio handball, reports BBC.
Rodrygo had a late goal disallowed and Kroos was shown his second yellow card in injury time.
A draw was a fair result and takes Real one point above Barcelona at the top, while Girona remain in the relegation zone.
Both sides hit the woodwork in the first half with Rodrygo drilling a low shot off the post and Girona's Yangel Herrera's first-time strike from 16 yards hitting the underside of the bar.
Girona did not let their heads drop after Rodrygo's opener and got a stroke of luck when the video assistant referee awarded them a penalty for an Asensio handball.
Stuani, who had just come on, stepped up and sent Thibaut Courtois the wrong way.
The 36-year-old is the oldest player to score against Real at the Bernabeu in La Liga since 1960.
Rodrygo thought he had won the game for Real late on at the second attempt after Paulo Gazzaniga saved his initial shot. But it was ruled out as Gazzaniga was deemed to have control of the ball, with his hand on the ball, when Rodrygo kicked it in.
Kroos was dismissed in injury time for Real's first La Liga red card since 10 April 2021 against Barcelona.