Lionel Messi scored twice as Barcelona struck three times in the final 13 minutes of the first leg to whisk their Champions League semi-final tie away from a stubborn Bayern Munich side.
The hosts seemed set for a frustrating night before Messi fired a low shot home from the edge of the area.
Three minutes later he skipped past Jerome Boateng and dinked home coolly.
Led by ex-Barca boss Pep Guardiola, Bayern pushed for an away goal and were punished again as Neymar raced clear.