Messi, qui n'avait plus marqué contre le Real depuis 2014, a bien choisi son moment pour mettre fin à cette disette. Son doublé (33e/92e) propulse les Catalans en tête, à égalité de points avec les Madrilènes.
Le Barça a concédé l'ouverture du score à Casemiro (28e). Messi (33e) et Rakitic (73e) ont ensuite renversé la situation. Entré pour Benzema à la 82e, James Rodriguez arrachait l'égalisation à la 86e alors que son équipe évoluait en infériorité numérique depuis l'expulsion de Sergio Ramos pour un tacle violent sur Messi (77e). Mais sur un contre dans les arrêts de jeu, Jordi Alba servait Messi pour le but d'une victoire sans prix.
Les deux clubs sont à égalité en tête avec 75 points, mais le Real dispose d'un joker puisqu'il a un match en retard. Les hommes de Zidane restent donc en pole position, mais ils n'ont plus le droit à l'erreur.
ats/adav
Liga, 33e journée (21-24.04)
Sevilla - Granada 2-0 (1-0)
Malaga - Valencia 2-0 (2-0)
Villarreal - Leganes 2-1 (0-0)
Osasuna - Sp.Gijon 2-2 (1-0)
Espanyol - Atl.Madrid 0-1 (0-0)
R.Sociedad - La Coruna 1-0 (1-0)
Celta Vigo - Betis S. 0-1 (0-0)
Las Palmas - Alaves 1-1 (1-0)
R.Madrid - Barcelona 2-3 (1-1)
Eibar - Athl.Bilbao LU
Liga, classement (23.04)
1. Barcelona 33/75
2. R.Madrid 32/75
3. Atl.Madrid 33/68
4. Sevilla 33/65
5. Villarreal 33/57
6. R.Sociedad 33/55
7. Athl.Bilbao 32/53
8. Eibar 32/50
9. Espanyol 33/49
10. Celta Vigo 32/44
11. Alaves 33/44
12. Valencia 33/40
13. Las Palmas 33/39
14. Betis S. 33/37
15. Malaga 33/36
16. La Coruna 33/31
17. Leganes 33/27
18. Sp.Gijon 33/23
19. Granada 33/20
20. Osasuna 33/18