
Xavi Hernandez’s side are third in the standings on 51 points, five behind second-placed Girona, who were thrashed on Saturday by Real Madrid, leaders with 61 points.
Yamal put the hosts ahead after 14 minutes with a tap-in into an empty net after Joao Cancelo’s cross found him at the far post. Granada equalised two minutes before halftime thanks to Ricard Sanchez’s powerful volley into the top corner.
The visitors grabbed the lead in the 60th minute with an easy finish by Facundo Pellistri before Robert Lewandowski made it 2-2 as he scored from Ilkay Gundogan’s pass three minutes later.
Ignasi Miquel restored Granada’s lead with a towering header in the 66th minute, but Yamal levelled again with a long-range strike for his second of the night ten minutes from time.