Postpublished at 21:32 Greenwich Mean Time 18 February 2015
Schalke look set on damage limitation now with eight players back defending as Real Madrid pass the ball around near the centre-circle. Doesn't look like we will have any late drama.
Marcelo second puts Real in control of tie
Ronaldo heads in from Carvajal cross
Ronaldo's first goal in four matches
Schalke managed by ex-Chelsea boss Di Matteo
Gary Rose
Schalke look set on damage limitation now with eight players back defending as Real Madrid pass the ball around near the centre-circle. Doesn't look like we will have any late drama.
The introduction of Asier Illarramendi completes a flurry of Real Madrid substitutions as he comes on for Isco for the final few minutes.
Shohidur Rahman: Marcelo with his "weaker foot". Stunning.
Ruaridh Williams: The criticism of the refereeing tonight is outrageous. How many of those have refereed professionally before? No clue.
Join in via #bbcfootball,, external text in on 81111 (UK only) or have your say on the BBC Sport Facebook, external and Google+, external pages.
Despite being down to 10 men, Middlesbrough have equalised at Birmingham through Patrick Bamford. The on-loan Chelsea striker's 12th goal of the season will take his side to the top of the Championship if it stay this way.
Carlo Ancelotti makes his second change of the game as Alvaro Arbeloa jogs on to the pitch with Dani Carvajal, who took a knock to his knee earlier in the half, making way.
Porto finally get the breakthrough as Danilo despatches the penalty into the bottom right corner after Walter Samuel had handled inside the area.
Brilliant stuff from Marcelo to grab Real Madrid a welcome second. Cristiano Ronaldo's persistence creates the chance as he skips past a couple of defenders, passes to Marcelo, who looks up and rifles in an unstoppable drive from the edge of the area.
Gareth Bale leads the familiar site of a BBC attack - Cristiano Ronaldo and Karim Benzema in support, but the latter is in an offside position when Bale tries to send him through.
That's Benzema's final contribution as Javier Hernandez replaces the forward.
Carlo Ancelotti is clearly concerned by that chance for Schalke, he has Javier Hernandez warming up. This could be an interesting final 15 minutes.
Said Madrid: The pitch at the Veltins-Arena is awful, but Atkinson's refereeing is even worse.
Jack Thaler: Tonight's action just goes to show how fantastic the English Premier League is. If they played in the England then Schalke, Basel, and Porto would all be battling relegation. Burnley would wipe the floor with them.
Join in via #bbcfootball,, external text in on 81111 (UK only) or have your say on the BBC Sport Facebook, external and Google+, external pages.
Suddenly the home crowd come to life as Schalke rattle the woodwork! Substitute Felix Platte's fierce drive bounces back off the bar and Atsuto Uchida can't get enough power behind his shot on the rebound as Iker Casillas holds. A let-off for Real.
Schalke give away a free kick just outside the D and this is very much Cristiano Ronaldo territory. Deep breath and the Portuguese strikes it, but smacks the head of an unfortunate Schalke defender.
Nice from Gareth Bale. He receives a pass from Isco with his back to goal and a defender in close attention, flicks the ball between the legs of the Schalke player and Isco runs onto it, but drives his effort just over.
Porto are pushing for that equaliser and Jackson Martinez finally has his first sight of goal after a very quiet game so far, attempting a lob that lands on the roof of the net.
Chance for Schalke! Eric Maxim Choupo-Moting feeds a pass to Marco Hoger inside the area, he then waltzes between Marcelo and Lucas Silva but strikes the sidenetting with his shot from a tight angle.
Substitute Jan Kirchhoff is booked by Martin Atkinson for a foul on Dani Carvajal and a break in play ensues as Carvajal receives treatment. Things are going much better than last year for Schalke. They were 4-0 down at this point.
Kevin-Prince Boateng senses glory, having a pop from way out but he is leaning back all the time and sends his effort way, way over. Schalke fans punch the air in disapproval.
Memories of Wayne Rooney versus Preston when that Porto goal was disallowed. Two Porto players were in close proximity to the goalkeeper and stood in an offside position, which is why the goal was ruled out. Looks like it may have been the correct call.
Gareth Bale runs along the edge of the area and tries to clip the ball in for Cristiano Ronaldo, but he is well offside. Schalke make a change as midfielder Roman Neustadter goes off to be replaced by Jan Kirchhoff. Like for like.