Lionel Messi suffered a leg injury after helping Barcelona to its second straight win to start the season.
In England, Liverpool beat Tottenham, while Arsenal slumped to its second draw in three matches.
Here is a look at the action from Europe's top leagues on Sunday:
"We were horrible," Madrid goalkeeper Iker Casillas said. "The game was negative in every aspect. We can't continue to play like this."
Barcelona won 1-0 at Villarreal after Messi set up the winning goal in the 82nd minute, taking Neymar's through-ball and drawing goalkeeper Sergio Asenjo off his line before picking out substitute Sandro Ramirez to push the winner into the net.
The 19-year-old Ramirez was making his Barcelona debut and had come on as a substitute just 12 minutes earlier.
Barcelona said after the game that Messi had sustained a right leg muscle injury and would undergo tests on Monday.
Neymar came on as a second-half substitute for his first competitive game since fracturing a vertebra at the World Cup, having missed last weekend's league opener with a left ankle sprain.
Liverpool had the look of a Premier League title challenger again during an impressive 3-0 win at Tottenham, while Arsenal's scoring struggles were once more exposed in a 1-1 draw at Leicester.
Alexis Sanchez's first league goal for Arsenal since joining from Barcelona. Leonardo Ulloa's header was the goal for newly-promoted Leicester.
Liverpool, though, recovered from its setback at Manchester City at the start of the week with a convincing performance at Tottenham. Newly signed striker Mario Balotelli made his debut, but the goals came from forward Raheem Sterling, captain Steven Gerrard's penalty and new defender Alberto Moreno.
Unbeaten Aston Villa beat Hull 2-1 for its second win in three games.
New Milan goalkeeper Diego Lopez saved Antonio Candreva's penalty in stoppage time.
Inter Milan's new signing Nemanja Vidic had a less than impressive Serie A debut as the former Manchester United defender gave away a penalty and was sent off in stoppage time in his side's 0-0 draw at Torino. Jonathan de Guzman had a better start at Napoli as his last-gasp goal grabbed a late 2-1 win at Genoa, while 10-man Sampdoria also scored late to draw 1-1 against newly promoted-Palermo.
Also, Atalanta drew 0-0 at home to Hellas Verona.
Zlatan Ibrahimovic scored a hat trick on his return from injury as defending champion Paris Saint-Germain thrashed Saint-Etienne 5-0 in the French league.
The return of the Sweden striker seemed to give PSG's attack the spark it was missing in a goalless draw the previous weekend. After an own-goal by Saint-Etienne goalkeeper Stephane Ruffier in the 24th minute, Ibrahimovic doubled the lead by heading home a cross in the 41st and then intercepted a back pass to dribble past Ruffier for a 3-0 lead in the 62nd.
Edinson Cavani made it 4-0 a minute later with a curling shot from 25 yards before Ibrahimovic beat the offside trap to slip the ball past Ruffier in the 72nd. The Swede missed the previous game with a left oblique injury.
Leader Bordeaux dropped its first points this season by drawing with Bastia 1-1, while Lyon lost 2-1 to promoted Metz for a third straight defeat in the league.
Mainz could only draw 0-0 with Hannover to round out a difficult week, while Freiburg and Borussia Moenchengladbach also played out a goalless draw in the Bundesliga on Sunday.
Mainz, which failed to qualify for the Europa League and was knocked out in the first round of the German Cup, had a penalty appeal waved off in the first half.
Freiburg's Admir Mehmedi missed a penalty in the late game.