The win gives Zinedine Zidane's men 81 points with one game to play -- two points behind leaders Atletico Madrid who rallied to a late victory against Osasuna to stay atop the standings heading into the final matchday.
The result ensures the neck-and-neck title race will be decided next Sunday, when Real host Villarreal and Atletico travel to Valladolid.
It took some time, but Real finally got their critical goal in the 68th minute. After some fine work from Casemiro -- who'd hit the crossbar with a header minutes earlier -- Nacho bundled home with his knee at the far post after the Brazilian dragged a cross past two defenders and found the unsuspecting goal scorer unmarked.
The win comes after sources told ESPN that the Bernabeu club are expecting Zidane to leave his post at season's end, with Massimiliano Allegri and club legend Raul leading the shortlist to replace the Frenchman.
"Obviously we wanted to win, and for Atleti to drop points, but there's a long way to go still," Nacho said.
"They came back to win at the death and that shows things aren't easy. We just need to concentrate on ourselves and see how it goes next time out [against Villarreal next Sunday].
"You can see how tough it was for them to win. In the game of football anything can happen, we need to fight until the last, that's our job.
"It's a tough place to come and win. Bilbao give up few chances, but we were great in defence. It was more difficult up top, but we were compact and we got the three points which is all that matters."