In a stunning turnaround, Manchester United recovered from a goal down to clinch a spot in the Europa League last 16, sending Barcelona packing in the process.
After a 2-2 draw in the first leg, Barcelona took the lead at Old Trafford when Robert Lewandowski converted a penalty kick, following a foul by Bruno Fernandes on Alejandro Balde.
But early in the second half, United evened the score when Fred finished off a pass from Fernandes with a low shot.
Antony, a substitute, then sealed the victory for United in the 73rd minute with a 15-yard low strike.
In the dying moments of the game, Lewandowski nearly forced extra time with a shot that beat goalkeeper David de Gea, but Raphael Varane made a crucial goal-line clearance.
The draw for the last 16 will be held on Friday in Nyon, Switzerland at 11:00 GMT, with United set to face one of the winners of the Europa League group stage. Since teams from the same country cannot play each other in the next round, United will avoid Arsenal, the Premier League leaders.
The sides that United could face include Fenerbahce from Turkey, Ferencvaros from Hungary, Feyenoord from the Netherlands, Freiburg from Germany, Real Betis and Real Sociedad from Spain, or Union Saint-Gilloise from Belgium.