Champions League Round-up: Carlos Tevez struck three minutes from time to give Manchester United a priceless away goal and a 1-1 draw against Lyon in the Stade Gerland.
Highly-rated forward Karim Benzema fired the French champions in front against the run of play in the 54th minute after turning brilliantly on the edge of the box and firing low into the bottom corner past the despairing Edwin Van der Sar.
But just when United looked to be heading towards defeat, substitute Tevez popped up at the back post to stab the ball home after Lyon failed to deal with a Cristiano Ronaldo cross.
United had the best chance of a tight first-half when Wayne Rooney was played clean through on goal but the striker was denied by a fine save by French international goalkeeper Gregory Coupet, making his first Champions League appearance of the season.
Benzema fired just over from 18 yards out while Paul Scholes had a shot blocked from close-range at the other end, but it was 0-0 at the break.
The Red Devils started the second-half brightly and looked the more likely to score before Benzema's stunning strike showed just why he is coveted by Europe's top club.
Surrounded by three men and with his back to goal, the 20-year-old turned and lashed the ball past Van der Sar to send the capacity crowd in the Stade de Gerland wild.
United were clearly rattled and Juninho almost doubled Lyon's advantage with a magnificent free-kick from 35 yards which flew just past the post with Van der Sar beaten.
But the introduction of Tevez and Nani made all the difference for United and it was the former who netted the vital away goal with just three minutes to go.
Ronaldo's cross was not dealt with by Sebastien Squillaci and the ball fell to Tevez who only had to stab the ball past Coupet and into the back of the net and put United in pole position for the second leg at Old Trafford in two weeks time.
Arsenal were kept at bay as AC Milan's dogged defending earned them a 0-0 draw in their first leg tie at The Emirates.
Arsene Wenger's side took the game to the reigning European champions from the off, but despite the best efforts of Cesc Fabregas and company, Milan's defence stuck to their task to leave the tie evenly balanced ahead of the return leg at the San Siro in a fortnight's time.
The Gunners suffered an early blow when Kolo Toure was replaced by Philippe Senderos after the defender suffered a calf injury in blocking Pato's powerful strike.
But Arsenal were soon on the attack when Emmanuel Adebayor raced onto Jens Lehmann's enormous throw out of the area only to be stopped in his tracks by Massimo Oddo's well-timed tackle.
Eduardo slipped as Bacary Sagna sent a dangerous cross across goal, while Senderos just failed to connect with a Fabregas corner.
Fabregas then fed Adebayor, but the in-form Togo star blazed his shot high over the bar.
The Gunners finished the half strongly and created the best opening of the first 45 minutes when Emmanuel Eboue tied Paolo Maldini in knots, before teeing up Mathieu Flamini, but his shot was comfortably saved by Zeljko Kalac.
Arsenal made a bright start to the second period when Fabregas' corner caused confusion in the area and it struck Kaka's chest before bouncing just wide of goal.
Alexander Hleb's fantastic run down the right then carved Milan wide open but Eboue's 20-yard shot missed the target by inches. Eduardo then fired a shot on the stretch just over the bar as the hosts upped the tempo, before Adebayor had the ball in the net - only to see his effort correctly flagged offside after he stabbed past Kalac.
Fabregas then tried his luck from 25 yards after some space opened up in front of him, but his low drive was again too easy for Kalac.
Arsenal brought on Nicklas Bendtner and Theo Walcott late on and the latter almost created a last-gasp winner when his cross on the right picked out Adebayor, but his header struck the crossbar before bouncing to safety.
A Lionel Messi double against Celtic put Barcelona in to the driving seat for the return leg of their last-16 tie in a fortnight's time.
After surviving a whirlwind start by the visitors, Jan Vennegoor of Hesselink gave the Hoops a 16th-minute lead with a powerful header before Messi levelled two minutes later.
Debutant Barry Robson's looping header just before the end of a pulsating first half gave Celtic an interval lead but, following a mistake by Gary Caldwell seven minutes after the restart, Thierry Henry equalised with a classy finish.
The home side tried valiantly to hang on in the face of a Catalan onslaught but in the 79th minute the Argentina international summoned up another piece of magic inside the Celtic penalty area before curling his shot past Artur Boruc.
The return match on March 4 promises another tough night for the Scottish champions, who will have to win their first ever Champions League game on the road if they are to progress through to the quarter-finals.
On this evidence, it will be a mighty task for Gordon Strachan's men, who suffered their first home defeat in the competition since the last visit of Barcelona in 2004.
Champions League Results
Arsenal 0-0 AC Milan
Celtic 2-3 Barcelona
Fenerbahce 3-2 Sevilla
Lyon 1-1 Man United