Marco Asensio came off the bench to score the winner as Real Madrid claimed a 2-1 first-leg lead over Bayern Munich in their Champions League semi-final on Wednesday.