Bayern Munich leave it late in a back-and-forth classic to beat Real Madrid 4-3 to set up a meeting with Paris Saint-Germain in the semi-finals of the Champions League.