It was the home side that started the match on the front foot, and Raul Garcia came close to opening the scoring inside the opening ten minutes, but his acrobatic effort was saved in unconvincing fashion by Keylor Navas.
From there Real started to take the initiative, with first Cristiano Ronaldo having a left-foot effort saved in smart fashion by Bilbao stopper Kepa before Sergio Ramos uncharacteristically headed a Toni Kroos free-kick wide from close range.
Real did not have to wait long to take the lead however as, on 25 minutes, Ronaldo drilled a low ball across the edge of the Bilbao box, which allowed Karim Benzema to provide a clinical right-foot finish to make it 1-0 to the visitors.
Benzema then should have doubled Real’s lead before the interval but somehow could not make the required contact on Marcelo’s superb cross into the box.
Into the second-half and Bilbao pushed hard to try and find an equalising goal and they almost got it when Inaki Williams’ goal-bound effort was superbly saved by the right-hand of Navas.
Bilbao finally got their equaliser on 65 minutes when Williams’ cross towards the far post was headed back across goal by Garcia, which gave Aritz Aduriz the simple task of heading home from close range.
However, just three minutes later and Real were back in front, as Ronaldo flicked Toni Kroos’ corner on at the near post, and there was Casemiro to convert from inside the six-yard box.
The result has bolstered Real’s chances of claiming a first La Liga title since 2012, while Bilbao remain in seventh.