BARCELONA, Spain -- Atletico Madrid sweated out a 1-0 victory over Villarreal without leading scorer Diego Costa to stay top of the Spanish league on Saturday, while Lionel Messi scored two goals in Barcelona's 3-1 win over Real Betis to stay one point behind.
Gareth Bale's long-range goal helped make sure Real Madrid didn't miss star Cristiano Ronaldo as it cruised to a 4-0 victory at Real Sociedad, staying within three points of the pacesetters in third place.
Messi converted a 14th-minute penalty and followed up a second spot kick that was blocked by goalkeeper Adan Garrido to seal the victory in the 86th.
Messi recorded his 24th and 25th league goals of the season -- pulling him level with Diego Costa as the league's second-leading scorers behind Ronaldo's 28 -- but Barcelona again showed problems in defence that last-placed Betis failed to fully exploit.
Earlier, Atletico's Raul Garcia scored in the 14th and Diego Simeone's side held out to deny Villarreal in the second half as it stayed undefeated at its Vicente Calderon stadium through 17 league games this season.
"We didn't have the strength and energy that we have had on other days," said Simeone. "But my team played smart, and when you play smart you make up for the lack of energy to pull out the win."
Atletico hopes Diego Costa will recover from a right thigh injury for Wednesday's Champions League quarterfinal with Barcelona after they drew 1-1 in the first leg.
Atletico then has six games left as it tries to claim its first league title since 1996.
While David Villa was ineffective before being substituted with half an hour to play, Garcia again proved his value to Atletico as a versatile attacking midfielder by pushing aside his marker to head in Jorge "Koke" Resurreccion's corner kick.
Also, Rayo Vallecano won 3-0 at home over Celta Vigo to get its fifth win in seven rounds and move six points from the relegation zone.
Barcelona unfurled a banner in the Camp Nou stands before the match that read "Hands Off La Masia," referring to FIFA's one-year transfer ban after football's governing body found the Catalan club guilty of breaching regulations in signing youth players for its renowned training academy. Barcelona club president Josep Bartomeu also said that he had a "friendly and cordial conversation" with FIFA president Joseph Blatter about the ban.
"We are going through some tough times, but we have managed to isolate ourselves and concentrate on the matches," Barcelona forward Pedro Rodriguez said.
Messi put Barcelona in charge after Alexis Sanchez was fouled by defender Jordi Figueras in the area.
Barcelona started to show the same drop in energy that had affected Atletico after Xavi Hernandez's free kick grazed the crossbar.
But just when Betis was playing its best, Figueras gifted Barcelona a goal by knocking Adriano's pass into his own net in the 67th.
A minute later substitute Ruben Castro scored for Betis with Barcelona disorganized at the back, using a feint to make two defenders slide to the turf before he poked the ball beyond goalkeeper Jose Pinto.
Messi finally calmed the nervous crowd after Antonio Amaya handled Neymar's cross in the box. Adan saved Messi's first try and even recovered to get a glove on his follow-up effort, only to see the ball trickle over the goalline.
With Ronaldo nursing his hurt left knee, Madrid's visit to Sociedad was billed as its toughest outing left in the league. Instead it proved to be a pleasant trip to San Sebastian, as Madrid put together a no-nonsense performance highlighted by Bale's outstanding strike.
Sociedad's early push sputtered out when its former player Asier Illarramendi tilted the game in Madrid's favour just before halftime by scoring a rebound from Karim Benzema's shot that goalie Claudio Bravo pushed down in front of his net.
After Sergio Ramos and Benzema had both hit the woodwork, Bale pounced on Bravo's scuffed goal kick that fell to him 30-meters outside the area before quickly unleashing a blistering left-footed strike to seal the result in the 66th.
Pepe swept in Madrid's third in the 85th before substitute Alvaro Morata scored with two minutes to play.