(CNN) -- Lionel Messi scored his 60th goal of the season on Saturday as Barcelona came from behind to beat 10-man Zaragoza 4-1 to close the gap on La Liga leaders Real Madrid to three points.
Carlos Aranda made amends for a missed penalty in the 24th minute with a header six minutes later to put the home side ahead.
The lead didn't last long though with Carlos Puyol scoring in the 36th minute and Messi adding a second three minutes later.
Any hopes of a comeback faded for Zaragoza a minute before half time when Abraham Minero was dismissed for a second bookable offence.
Despite having the extra man, Barca had to wait until the 86th minute to seal victory as Messi converted from the penalty spot.
The Argentine was on hand again to set up Pedro Rodriguez who scored a fourth in injury time.
Real Madrid play Valencia on Sunday.
Earlier, two goals from Miguel Perez 'Michu' helped Rayo Vallecano beat Osasuna 6-0 to virtually guarantee their place in La Liga next season.
Jose Maria Movilla volleyed home the first goal in the fifth minute before Michu bagged his brace.
Diego Costa added a fourth before halftime, with Emiliano Armenteros and Roberto Triguero 'Tito' completing the rout in the second period.
Relegation-threatened Sporting Gijon went down 2-0 at Getafe while Espanyol came back from two goals down to earn a 2-2 draw against Real Sociedad.