Barcelona's 16-year-old starlet Lamine Yamal struck twice to rescue the struggling Catalans a 3-3 draw against Granada in La Liga on Sunday.

Xavi Hernandez's side, third, shared the spoils with their relegation-battling opponents, 19th, after a thrilling battle at the Olympic Stadium, but now trail leaders Real Madrid by 10 points.

Los Blancos thrashed second-place Girona 4-0 on Saturday to move five points clear at the top and take control of the title race.

Youngster Yamal sent Barcelona ahead but Granada battled back with goals from Ricard Sanchez and on-loan Manchester United winger Facundo Pellistri.

Robert Lewandowski pulled Barcelona level but Ignasi Miquel again sent Granada in front, before Yamal struck his second, from long range.

It was the kind of Barcelona performance which summarised why Xavi has decided to leave the club at the end of the season, convinced the club needs a change of direction.

"It wasn't to be, it's another lost opportunity, but we have to keep working," Yamal told Movistar.

"I've got the trust of the coach but right now I'm thinking more about the draw and that we dropped two points than in my performance."

Yamal lit up the match from the right flank, a rare bright spark on another difficult night for the champions.

Joao Cancelo turned well in the area and crossed invitingly for Yamal to fire home at the far post after 14 minutes.

The winger became La Liga's youngest ever scorer with a goal against Granada in October when the teams met in a 2-2 draw.

Barca should have doubled their lead before the break but Martin Hongla cleared off the line from Lewandowski's shot after Pedri and Ilkay Gundogan combined brilliantly.

The Catalans were punished almost immediately when Pellistri, on loan from Manchester United, crossed for Sanchez to rifle into the top corner past Marc-Andre ter Stegen.

The German goalkeeper, making his first appearance since November after a back injury, showed signs of rustiness but could not be blamed for the goal.

At the same stage last season Barcelona had conceded eight goals in La Liga, this was the 31st in 24 matches in this campaign, with two more to follow.

Rollercoaster

Ter Stegen saved from Pellistri at the near post early in the second half but the Uruguayan soon put Granada ahead.

Pau Cubarsi's wayward defensive header dropped to Uzuni, who crossed for Pellistri to stab home after an hour.

Barcelona swiftly levelled when Cancelo found Gundogan who fed Lewandowski and the Polish veteran striker finished clinically for his 10th goal in La Liga.

Home fans hoped their team could kick on and take all three points but Granada -- now unbeaten against Barcelona in five games -- had other ideas.

Miquel's header from Faitout Maouassa's cross gave Alexanda Medina's side the lead once again, although it was Ter Stegen who got the final touch after it hit the post.

It took a fine Yamal effort from outside the area to restore parity, with the youngster's strike flying in at the near post and catching out Granada goalkeeper Augusto Batalla.

Barcelona substitute Marc Guiu could have won the game in stoppage time but headed over from close range.