Barcelona's Lionel Messi rescued a 1-1 draw at Villarreal with a sensational late free-kick on Sunday but could not prevent the champions finishing the weekend third in La Liga, five points behind leaders Real Madrid.
Messi bent a stunning free-kick into the top corner in the 90th minute after Villarreal's Italian forward Nicola Sansone finished off a breakaway to open the scoring in the 50th as they looked set to record a first home win over Barca in 11 years.
Barcelona have 35 points from 17 games, one behind Sevilla, and trail a Real Madrid side who beat Granada 5-0 on Saturday, are unbeaten in all competitions and have a game in hand.
"I can't make a positive evaluation because we needed the three points today," said Barca coach Luis Enrique. "We aren't on a very favourable run at the moment and although we kept hitting the target things just would not fall for us."
"Of course there is still time to catch Real. We're going to have opportunities to fight for the league, although that will not just depend on us but also on them and they are looking very strong at the moment."
The pressure was on Luis Enrique's side after Real and Sevilla enjoyed big wins on Saturday but Villarreal were far from ideal opponents, having held Barca to a 2-2 draw last season and halting their 12-game winning streak in the league.
The first clear chance of a vibrant, end-to-end game fell to former Barcelona midfielder Jonathan dos Santos, who put too much power on his shot and watched it fly over the bar.
Luis Enrique made three changes to the Barca team that lost 2-1 in a King's Cup last 16, first leg game at Athletic Bilbao on Thursday and it was one of the players he recalled who made the fatal mistake that led to the opening goal.
France left back Lucas Digne lost possession in Villarreal's half and Alexandre Pato strode through the middle unopposed, teeing up Sansone to send the ball home off the far post.
Messi hit the post with a sumptuous shot and had a penalty appeal turned down when his effort was blocked by Villarreal captain Bruno Soriano's hand, while Barca's Javier Mascherano was also fortunate not to concede a spot kick for handball.
Juventus set home record
Gonzalo Higuain scored twice to give Juventus an easy 3-0 win over Bologna on Sunday which set a Serie A record of 26 consecutive home wins.
Second-placed AS Roma needed an unlucky own goal from Armando Izzo to beat Genoa 1-0 away and neighbours Lazio survived a controversial disallowed goal before snatching a last minute win over lowly Crotone.
Ivan Perisic scored at the end of each half as Inter Milan came from behind to beat Udinese 2-1 and notch their fourth successive league win.
Juve's win kept them four points clear of Roma at the top with a game in hand. Juve have 45 points while Roma have 41, Napoli 38 and Lazio fourth on 37.
Juventus, aiming for a sixth successive title, broke their own record of 25 home wins in a row set under Antonio Conte between 2013 and 2014.
Higuain, last season's topscorer with Napoli, volleyed Juventus in front after seven minutes from Miralem Pjanic's pass and fellow Argentine Paulo Dybala converted a penalty four minutes before halftime.
Higuain got away from his markers to head in Stephan Lichtsteiner's pass 10 minutes into the second half, taking his season's tally to 12.
Roma were missing striker Mohamed Salah as he had joined Egypt's squad for their African Nations Cup preparations while Genoa were playing their first game since selling key midfielder Tomas Rincon to Juventus.
Genoa goalkeeper Mattia Perin was injured early on as he made a brilliant save to deny Edin Dzeko and was replaced by Eugenio Lamanna.
Roma broke through when Izzo inadvertently turned a Bruno Peres cross into his own net from close range.
Lazio made heavy weather of beating Serie A debutants Crotone who remained in the relegation zone on nine points.
Lucas Biglia blasted a first-half penalty against the crossbar for Lazio and Crotone thought they had taken the lead through Marcus Rohden in the 70th minute only to see the goal chalked off for a debatable offside decision.
Immobile finally broke the deadlock in the last minute after a fortuitous rebound sent the ball into his path.
Udinese took a 17th minute lead through Jakub Jankto and twice hit the post before Inter snatched an equaliser on the stroke of halftime when Perisic swept in Mauro Icardi's pass from 12 metres.
The Croatia winger struck again three minutes from fulltime as he headed in Joao Mario's free kick at the far post.
Seventh-placed Inter have won five out of seven games and lost only one since coach Stefano Pioli replaced Frank de Boer, who was sacked after less than three months in charge.
Alejandro Gomez scored twice in the first half to help sixth-placed Atalanta thump Chievo 4-1 away, while Sassuolo and Torino played out a goalless draw.