The result brings Villarreal's six-match winning streak in La Liga to an end while also ending a run of five straight defeats for Betis, although the visitors are now without a win in 10 games and have failed to even score in their last seven.
The match was Betis's first since sacking Pepe Mel for a second time earlier this week, but they almost fell behind inside two minutes when Roberto Soldado hit the post having found space to shoot inside the penalty area.
Having survived that early scare, the visitors began to grow into the match a little more and Villarreal were indebted to Alphonse Areola when he denied Ruben Castro from close range after 15 minutes.
The hosts responded with another chance of their own midway through the first half as Cedric Bakambu had a go from the edge of the box, only to see his shot fly narrowly past the post.
Areola was called upon again shortly before half time to keep the scores level, this time denying Fabian Ruiz from inside the six-yard box.
Betis struggled to create as many chances in the second half, but they also did a good job of keeping Villarreal at bay, starting with a block to deny Jonathan dos Santos a little over 10 minutes after the interval.
Bruno sent a free kick whistling past the upright with 15 minutes remaining before Adrian Marin danced his way past a number of players into the box, only to see his low strike stopped by Antonio Adan.
Neither side could find the crucial breakthrough in the closing stages, though, with the point taking Villarreal level with Real Madrid and lifting Betis up a spot to 14th.