Villarreal leapfrogged Real Betis to move into the top half of the table for the first time this season thanks to Borja Valero's solitary first-half goal.
After an evenly matched opening 20 minutes, the hosts took the lead when Hernan Perez and Marco Ruben combined to set Valero free down the left and he calmly chipped over Casto from just outside the area.
Betis nearly equalised straight away as Ruben Castro forced Diego Lopez into a fine save, but thereafter the visitors failed to create a clear-cut chance despite being dominant in possession.
Indeed it was Villarreal who came closest to scoring in the second-half but Casto brilliantly denied Bruno from close range.
Villarreal have had a mini-revival in recent weeks after a terrible start to the season and they appeared the more assured side in the opening exchanges, Valero's dangerous corner from the right just evading a flurry of Villarreal players at the back post.
However the goal arrived courtesy of a couple of Betis mistakes.
Benat Extebarria handed the ball to Perez just inside the Betis half and after playing a one-two with Ruben, he picked out the rampaging Valero. The former Mallorca midfielder cleverly noticed Casto had strayed too far off his line and delicately lobbed the ball over the stranded keeper.
Three minutes later Betis' best move of the match nearly brought them level as Benat played in Castro just inside the area but Lopez did well to get down to his powerful low drive.
In the second period Betis continued to play the ball around, but without a real cutting edge and were exposed on a number of occasions by the Villarreal counter-attack.
Ruben fired wastefully over after being teed up perfectly by Valero, before Casto prevented the hosts extending their lead twice in two minutes. Ruben had the first effort that the Betis keeper deflected behind and, from the resulting corner, Bruno rose unmarked in the middle of the goal but his header was expertly parried away.
Betis' best effort of the second period came from an audacious effort by an on-loan Villarreal player.
Jefferson Montero nearly caught Lopez unaware as he drilled an effort from the touchline fully 40 yards from goal, but the keeper recovered just in time to palm the ball down and collect it at the second attempt.