Barcelona took a big step towards the Champions League semi-finals as a goal from Neymar and a Luis Suarez double ended Paris St Germain's 33-game unbeaten run at home in Europe with a 3-1 win at the Parc des Princes.
PSG, who were without Zlatan Ibrahimovic, suspended for one game after picking up a red card in the last-16 second leg at Chelsea, fell behind when Neymar netted from close range at the end of a quick counter attack in the 18th minute.
Suarez doubled the tally in the 67th after slaloming through the PSG defence, who lost captain Thiago Silva to a possible hamstring injury after 21 minutes, and wrapped it up 11 minutes from time with a curling shot into the top corner.
Gregory van der Wiel reduced the deficit in the 82nd minute as PSG suffered their first loss at home in Europe since 2006 ahead of the return leg at the Nou Camp next Tuesday.
Shock for five-time winners Bayern
Meanwhile, Ricardo Quaresma's two early goals and a second-half strike from Jackson Martinez helped a slick Porto complete a stunning 3-1 home victory over a sloppy Bayern Munich in the other quarter-final of the night.
The Portuguese side raced out of the blocks with two goals in the opening 10 minutes, Quaresma converting from the penalty spot and finishing neatly as Bayern's sluggish defending was punished.
Five-time champions Bayern, decimated by injuries, clawed their way back into the tie when midfielder Thiago Alcantara steered home at the far post after 28 minutes.
But Martinez pounced on an error by Jerome Boateng after 65 minutes and rounded Bayern keeper Manuel Neuer to re-establish Porto's two-goal advantage heading into the return leg on April 21.
Porto 3-1 Bayern Munich
PSG 1-3 Barcelona