Girona moved within six points of the La Liga top-six as an inspired performance from four-goal hero Castellanos fired the Catalan side to a stunning 4-2 victory over Real Madrid, whose faltering pursuit of Barcelona at the summit of the league suffered another major blow.
Having seen rivals Barcelona restore their 11-point cushion at the top of La Liga on Sunday, Real knew a third league title in four seasons was looking increasingly unlikely with just eight games remaining.
A trip to Catalonia to face European-chasing Girona promised to be a stern test for Los Blancos, and it was the hosts who took an early lead inside 15 minutes as a clipped delivery from Miguel Gutierrez was clinically headed home by Castellanos.
Looking to eclipse their best-ever top-flight finish of 10th in 2017/18, Girona continued to impress during the opening exchanges, and their confident start was duly rewarded with a second goal before the half-hour mark.
A long punt forward by Arnau Martinez was brilliantly controlled by Castellanos, who held off the challenge of Eder Militao before finishing through the legs of stand-in keeper Andriy Lunin.
This sparked the visitors into life with half-time looming and Vinicius Junior found the net with a close-range header to halve Real’s deficit going into the interval.
Undeterred by the visitors’ improved showing towards the end of the first half, Girona immediately restored their two-goal lead within 35 seconds of the restart as Castellanos completed his hat-trick, sweeping a low finish beyond Lunin to send the home support into raptures.
Having recorded just four wins from their previous nine away league matches, Real’s misery was compounded shortly after the hour mark when Castellos added his fourth of the evening, heading home from inside the six-yard box.
Faced with a daunting three-goal deficit, Los Blancos desperately searched for a route back into the contest during the final 20 minutes.
However, barring a late consolation from Lucas Vazquez, the Girona rearguard held firm to secure a famous triumph and move within six points of Villarreal in sixth.
As for Real, any hopes of catching Barcelona at the top of La Liga look all but finished as their attention surely shifts to a Copa Del Rey final and UEFA Champions League semi-final in the coming weeks.
Ten-man Osasuna heaped more pressure on lowly Cadiz as they defeated them 1-0 at the Estadio Nuevo Mirandilla, boosting their chances of finishing in the top half for a third time in four La Liga seasons.
Despite their relegation-threatened status, Cadiz started on the front foot, and Ruben Sobrino’s driving shot forced Osasuna goalkeeper Aitor Fernandez into a fine save at the back post.
Cadiz stayed in control thereafter, but their evening took a sour turn at the half-hour mark when defender Victor Chust limped off, prematurely ending what should have been a welcome return from injury.
This appeared to boost Osasuna into attacking more, and they should have scored when striker Pablo Ibanez placed a free header wide just before the break.
Osasuna again allowed the home side to start the better of the two teams as the second period began. As in the first half, Cadiz coach Sergio Gonzalez was forced to shuffle his pack, when Elche loanee Roger Marti limped off with a hamstring injury and was replaced by Sergio Guardiola.
Osasuna then sensed an opportunity to score when Cadiz goalkeeper Jeremias Ledesma raced out of his goal, blocking Iker Benito, who looked certain to score. This seemed to spur the home side into action, but they came up against a well-drilled visiting defence.
And Osasuna broke the deadlock on 62 minutes when Ruben Garcia’s 20-yard drive nestled into the corner of the net. There was a VAR check to see if the ball had gone out of play in the build-up, but that was quickly dismissed and the goal stood.
Having seen enough, Sergio Gonzalez soon brought on veteran striker Alvaro Negredo in a bid to get back in the game, and it seemed to lift the crowd for a short period of time.
Yet, despite all of the home side’s bluster and work rate to at least create half-chances – alongside Osasuna substitute Ez Abde’s straight red card late on – the visitors held out for only a second victory in 10 away league games.
Meanwhile, Cadiz drew a blank for the third consecutive home game. Things won’t get any easier for Sergio’s men either, as they host fellow relegation battlers Valencia at the weekend, following a 12th loss in 14 competitive clashes against Osasuna.