Barça sink Getafe
Former Inter Milan hitman Ibrahimovic scored in the 65th minute and then turned provider to set up Messi for Barça's second 12 minutes from time.
Cristiano Ronaldo netted in the last minute as Real Madrid won 3-0 at Espanyol. Esteban Granero opened the scoring six minutes before the break and Guti increased the visitors' lead with 13 minutes remaining before Ronaldo added the third.
Atletico Madrid's miserable start to the season continued as they were held to a 1-1 home draw by ten-man Racing Santander. The home side took the lead after 43 minutes through Jose Manuel Jurado, but two minutes later Oscar Serrano bagged the equaliser.
Racing were reduced to ten men a minute into the second half when Jose Angel Crespo saw red, but the home side failed to take advantage.
Sevilla picked up their first win of the season with a 4-1 home defeat of Real Zaragoza. Abdoulay Konko's early goal was cancelled out by Javier Arizmendi, but a brace from Luis Fabiano and one goal from Diego Perotti ensured a comfortable home win.