Messi opened the scoring for Barcelona
The Spanish champion's victory provisionally moved it eight points clear of Real Madrid, which played at Deportivo La Coruna late Saturday.
The absence of Xavi Hernandez, Carles Puyol, Daniel Alves and Victor Valdes made little difference at Iberostar Stadium as Barcelona overcame early pressure by the hosts before Messi headed home his league-leading 26th goal in the 38th minute.
Seydou Keita scooped into the area for the Argentina forward, who headed the pass forward before using his head again to guide over goalkeeper Dudu Aouate for his 42nd goal of the season.
Villa reached Sergio Busquets' well-played long-ball before Aouate and after rounding the Israel goalkeeper rolled home his 17th of the season.
Pedro's 13th goal was a long-range shot in the 66th that dipped over Aouate into the top of goal.
Barcelona leads Madrid by a provisional eight points, Valencia was third 20 points behind, and Villarreal fourth.
Earlier, Atletico Madrid twice rallied to secure a 2-2 draw against Sevilla and Espanyol beat Real Sociedad 4-1 to end a four-game losing streak. Also, Sporting Gijon and Zaragoza drew 0-0 in a match of relegation-threatened teams.
Sevilla scored first at Vicente Calderon Stadium when Diego Perotti chested Ndri Romaric's cross onto the path of Alvaro Negredo to volley a rising blast past goalkeeper David De Gea in the 41st minute.
Koke scored on his Atletico debut as the young forward skirted clear into the area in the 47th to meet Diego Forlan's long ball, sending a header out of the reach of the poorly placed Javi Varas.
Sevilla was ahead again in the 67th as Jesus Navas fed Ivan Rakitic at the edge of the area to curl a shot past De Gea.
But Atletico equalized again nine minutes later as Jose Antonio Reyes slipped past defender Sergio Sanchez to receive clear inside the area before slotting past Varas.
Varas denied Sergio Aguero twice from close range soon after as Atletico avoided slumping to a fifth loss in six.
Negredo found the crossbar late as Sevilla stayed five points behind Espanyol.
Espanyol provisionally moved two points ahead of Athletic Bilbao into fifth at the Cornella-El Prat where Luis Garcia found Alvaro Vazquez in the 41st with a quickly taken free kick before his try was helped into goal by defender Deniel Estrada.
Estrada made up for the opener by directing a free kick past goalie Carlos Kameni with his foot two minutes later, but Sergio Garcia put Espanyol ahead for good in the 54th.
Jose Callejon and Javier Marquez added the insurance for Espanyol as Sociedad slipped one point behind Sevilla in sixth after its two-game winning run ended.
Sporting stayed one point ahead of Zaragoza, which was in the last relegation place.