The Wales captain made his first appearance for the LaLiga leaders since August and was Madrid’s standout performer before being substituted in the second half.
Both sides had chances to win the match as Bale and Villarreal forward Arnaut Danjuma struck the woodwork in each half.
Villarreal goalkeeper Geronimo Rulli made a number of saves to prevent Madrid from going home with all three points.
The results sees Carlo Ancelotti’s side extend their lead at the top to four points while Villarreal remain in fifth position.
“We had a number of opportunities to win it but in football you need to take your chances,” Madrid midfielder Casemiro said.
“The coach ensured we were much better in the second period, which is a performance we will take encouragement from. We’re coming into the business end of the season and we are all working well, pushing in the right direction.
“The coaching staff are always pushing us and we want to win everything this season.”
Madrid were uncharacteristically sluggish in the first half, coughing up a number of chances with Villarreal’s Samuel Chukwueze a menace throughout.
The visitors were much-improved after the break, with Bale clipping the bar before he and teammate Vinicius Junior were denied in quick succession by Rulli.
When asked in the postmatch news conference whether Bale would play against Paris Saint-Germain in the Champions League, Ancelotti replied: “Good question! I don’t know, as I’ve said we’ll have to wait and see what happens in the next two days.
“Let’s hope we can get everyone back. I think Bale had an opportunity and he delivered. He played well, he deserved to score, he was dangerous. Everything I said he had to do, he did well.”
Information from Reuters was included in this report.