Ousmane Dembele scored late to hand Barcelona all three points against Real Valladolid at the Camp Nou on Monday to cut Atletico Madrid's La Liga lead to one.
The hosts struggled to create many chances in the first half and were denied shortly before the break when Valladolid keeper Jordi Masip went down and to his right to steer a well-hit Pedri shot off the post.
- Ratings: Dembele gets 7/10 with Barca winner
- Stream ESPN FC Daily on ESPN+ (U.S. only)
Lionel Messi fired just wide of the post on 70 minutes as Valladolid continued to frustrate Barcelona with time running out for Ronald Koeman's side as they looked to pick up a crucial three points in the title race.
Barca were given the upper hand for the last 10 minutes of the match when Vallodild's Oscar Plano was sent off with a straight red following his foul from behind on Dembele.
With time running out, Dembele pounced on a loose ball at the far post and hit a low volley past Plano to move his side up to 65 points from 29 games, one behind Atleti with nine games left to play in the season.
"This shows how difficult this league is and that we'll have to really fight in every game to win it," said Barca defender Clement Lenglet.
"We faced a great side who played out of their skin, it was a really difficult game for us but an important victory. This run is all down to hard work, things weren't clicking for us earlier in the season but now they are."
Valladolid keeper Masip said his side left the Camp Nou "with a bittersweet taste," feeling pleased with their performance but aggrieved at not earning a point, especially after having Plano sent off.
"It's a real shame that all that hard work was thrown away because of a one-off incident," Masip said.
Real Madrid, who are in third place in La Liga on 63 points, host Barcelona in another edition of the Clasico on April 10 in a crunch match for both team's title hopes.
"The team is capable of winning the games [left]," Koeman said. "But today has also shown you have to be at your best, you have to be clinical, you have to keep the team fresh, we lacked freshness today, maybe because of the international break. If we return to how we were before, we're capable of winning our games."
Koeman also weighed in on the future of match-winner Dembele, who has shown good form this season after a frustrating, injury-hit start to life at the Camp Nou since joining from Borussia Dortmund in 2017.
"Dembele's an important player," said Koeman. "He's shown that today with his performance and above all with the goal that gave us three points.
"Ousmane's development this season has been really good. Physically he's improved a lot, I think that's been the key to his quality and consistency to play so many games. So yes, if it's up to me, I would like him to stay with us."