Came off his line to intercept a long ball forward early on and also made two stunning saves to deny Alexis, but he gifted Barca an equaliser as he palmed the ball straight to Puyol following a corner and was beaten at his near post by Messi's fine second.
Was a decent outlet for Zaragoza and linked up well at times with Aranda and Lafita. Shot just over the bar from an angle in the second half after a good combination with Aranda. Eventually tired and was replaced.
Worked hard and put in some important tackles, but was turned easily by Alexis in the area after an hour and will have been relieved to see Roberto save the Chilean's shot. Gave away the penalty as well, although the decision looked very harsh.
Made a great sliding tackle to stop Pedro in his tracks which had to be just right as it was in the penalty area, but was given problems by the pace of the Tenerife-born forward on the wing.
Struggled to deal with the pace of Alexis down the flank and was booked twice in 10 minutes for pulling back the Chilean. Both were fouls but the referee could have been more lenient.
Worked incredibly hard in central midfield and offered a decent shield to his defenders. His distribution could have been better, though.
Didn't do much going forward and spent a lot of his time tracking back. Didn't see enough of the ball in an attacking sense and was booked for clipping Mascherano's heels.
Won the first-half penalty although there appeared to be minimal contact with Valdes. Also headed the rebound onto the crossbar after Aranda had seen his shot saved. Made a good run and cross into the area in the second half and was lively throughout.
Should have done a lot better with an early shot when he was alone in the area, but made terrible contact and sliced his effort. Looked lively other than that but faded as the game wore on.
Showed some lovely skill to beat his marker and play an excellent cross-field ball early in the first half, but his penalty was poor and Valdes saved comfortably. Gave Zaragoza the lead with a header after the Barca keeper had saved his initial shot, but penalty miss was costly.
Gave away the penalty although he looked a little unfortunate as Lafita made the most of it. Redeemed himself with a fine parry from Aranda's spot-kick. Unlucky with the goal after saving well from the striker. A decent performance overall.
Did well in the left-back position and was a useful outlet going forward as well. Should have set up Cesc for an easy header or taken a shot himself when put through by Messi in the second half.
Hit a free kick straight into the wall early on, but attacked well down his side of the pitch and got back to make one crucial intervention in the second half. Grew tired as the game wore on and was replaced by Montoya midway through the second period.
Unlucky with the Zaragoza goal as he slid across but was unable to keep out Aranda's header. Popped up at the other end with the vital equaliser when Barca were labouring and a goal down. Solid overall and fully committed as ever.
Worked hard in central midfield and he had to as Zaragoza hassled and hustled the visitors. Guilty of losing possession at times and could have given away a penalty when he handled in the area, although that would have been harsh. Replaced by Busquets early in second half.
Another who hasn't quite convinced of late, the youngster struggled to stamp his impression on the game against a hard-working Zaragoza side. Almost got through a couple of times on goal and saw his close-range effort saved by Roberto late on.
Did well to race back and block a Lafita cross following a quick Zaragoza counter in the first half, and looked steady overall alongside Puyol. Brought the ball out of defence in the absence of Pique but his passing was sometimes sloppy.
Not his best game and he still looks well short of his early-season form. Provided a goal threat, though, and was just inches away from connecting with a header from Adriano's cross in the second half. Worked hard in a much-changed midfield.
Provided a decent outlet, setting up Messi's first goal and he provoked the dismissal of Abraham by forcing two fouls from the Zaragoza man which led to first-half bookings. Missed two great chances, though, before theatrically winning a late penalty. The good, the bad and the ugly.
His late goal will give him confidence as he has looked poor for much of this season and did so again. Worked hard, though, and it paid off as he latched on to Messi's pass and beat Roberto deep into added time. Decision making and execution had been poor prior to that.
Not his finest game but he was there, as always, when Barca needed him. He struck an excellent first goal after turning his marker and then scored his 60th of the season from the penalty spot. Was a constant threat and his ball set up Pedro for the fourth in added time.
- 25 L. Franco
Came on with 25 minutes left and made one crucial intervention to deny Messi in the area.
- 8 Edu Oriol
Came on for the last eight minutes but had little impact.
- 15 T. Dujmović
Came on with 25 minutes remaining and claimed a penalty late in the game when he went down in the area. The referee didn't buy it, however.
- 16 P. Barrera
- 13 Pinto
Came on to replace Dani Alves with just over 20 minutes left and looked assured in defence for the most part and confident going forward.
- 23 Cuenca
A late replacement for Cesc as the time ticked away.
- 8 Iniesta
Came on for Keita nine minutes into the second half and Barca looked more assured in central midfield with him in the fray. Passed the ball neatly and made some key interceptions. Was the cool head that Barca needed when they were not playing very well.
- 37 Tello