(CNN) -- Barcelona made a quick recovery from midweek European heartbreak with a 4-1 victory at Villarreal on Saturday night that put the Spanish champions four points clear of title rivals Real Madrid.
The Catalan giants, whose Champions League defense was ended by Inter Milan despite a 1-0 home win, put the pressure on Real to Osasuna on Sunday and cut the gap with three matches to play.
Guardiola responded to Wednesday's disappointing display by dropping $65 million striker Zlatan Ibrahimovic, and his side proved much more mobile up front without the big Sweden international.
World player of the year Lionel Messi broke the deadlock in the 18th minute as he ran onto Xavi's clever pass and fired a shot low into the net with a deflection which wrongfooted Villarreal goalkeeper Diego Lopez.
Midfield lynchpin Xavi doubled the lead in the 34th minute with a superb curling free-kick which gave Lopez no chance, and young striker Bojan Krkic made the most of his starting chance with a fine individual goal three minutes before halftime.
Sixth-placed Villarreal pulled a goal back through Joseba Llorente in the 67th minute after he was set free by strike partner Nilmar, but Messi made it safe for Barca with three minutes left when he coolly finished from Daniel Alves' pass for his 42nd goal of the season -- 29 coming in La Liga.
Villarreal retained Spain's second Europe League spot as Getafe failed to win at second-bottom Valladolid, drawing 0-0.
Valencia consolidated third place with a 2-0 victory at Espanyol as substitute striker Nikola Zigic netted both goals in the second half after coming on to replace David Villa, and also had a header ruled out for offside.
Zaragoza moved out of the relegation zone with a 1-0 victory at ninth-placed Deportivo La Coruna as striker Adrian Colunga scored the only goal 10 minutes after halftime.
That meant Tenerife stayed in the bottom three despite a 2-1 win at home to Racing Santander, who are now just a point above the drop zone.
But Tenerife are now level on points with Malaga, who drew 1-1 at home to Sporting Gijon
Xerez remained rock-bottom even after a 2-1 win over Almeria that keeps the visitors still unsure of their own safety and behind Gijon on goal difference.