Thank you for joining our coverage, we hope you enjoyed the game. Until next time, goodbye!
Shakhtar's final Champions League group-stage game is against Inter, while Real Madrid face group leaders Borussia Monchengladbach.
There goes the full-time whistle! Shakhtar have done a Champions League double over Real Madrid, with Dentinho capitalising on Varane's mistake and Solomon scoring a fantastic goal off the bench in the second half. Real Madrid faded after a bright start and never got going after half-time, meaning they now drop down to third in the group on head-to-head. It finishes 2-0 to Shakhtar!
FULL-TIME: SHAKHTAR DONETSK 2-0 REAL MADRID
Kroos launches a long ball forward, but it's to no-one and it bounces harmlessly behind for a goal-kick. Real just can't build a dangerous attack.
WIDE! Kroos stands over a free-kick in a promising position out wide but, instead of delivering into the box, he takes on the shot from an unlikely angle and curls past the far post!
There's a palpable frustration from Real Madrid now. No real sign of a dramatic, late comeback.
Meanwhile, Dentinho appears to be struggling with an injury and - having come on to replace the injured Moraes - is now replaced by Fernando.
Castro makes a double-substitution now as he looks to see out the game. Kovalenko is off for Patrick in midfield.
GOAL!!! IT'S 2-0 TO SHAKHTAR!!! What a hit from Solomon! The substitute drove forward purposefully down the left before cutting inside Vazquez as he reached the edge of the box and thumping a lovely strike beyond Courtois and into the bottom-left corner!
Maycon gets the assist but Solomon covered plenty of ground on his own and had to beat Vazquez before coming up with a superb finish!
BLOCK! Modric thumps a low volley at goal as a corner is headed out to him, but it's blocked! Shortly after, Isco attempts a bicycle kick in the box but gives away a free-kick for dangerous play.
Benzema also, surprisingly, comes off, with Vinicius the man to replace him as the final change.
Rodrygo also departs the field, having faded after a bright start. Mariano comes on to take his place.
Zidane makes a triple-substitution now as he tries to get his side back on level terms. Odegaard is the first man off, with Isco replacing him in midfield.
SAVE! Mendy drifts inside from the touchline with the ball and has a pop with his right from the edge of the box. He catches it well, but Trubin makes the save and makes it stick!
Meanwhile, Taison is also taken off, with Solomon coming on for the final quarter of an hour or so.
Castro makes a double-change to freshen things up as his side head into the final stages of the game. Marlos is the first to leave the field, with Maycon taking his place.
SAVE! Shakhtar fizz it around in the final third and Tete eventually takes the shot on from the edge of the box, cutting inside and going for the top corner, but he doesn't get quite enough power and Courtois can hold on!
Mendy shows some lovely footwork to evade a challenge on the edge of the box, but a reluctance to use his right foot sees him play a poor pass with his left into the middle and Shakhtar clear.
BLOCK! Tete does superbly to wriggle away from three and get to the byline before cutting back to Stepanenko on the penalty spot. The midfielder's touch is a little heavy, however, allowing Varane to throw himself in front of the eventual shot and block it away!
The hosts are keeping hold of the ball superbly, passing it around in a calm, assured manner as they force Madrid to chase the ball.
Shakhtar are really benefitting from the game getting stretched as Real leave more and more space in behind as they commit men forward.
Mendy gets down the left and fires a low cross into the box, but it's hacked away. Real are throwing men forward now.
SAVE! Kroos whips a free-kick in from the left and Varane glances a head goalwards, but it's too central and Trubin holds on!
GOAL!!! SHAKHTAR TAKE THE LEAD!!! Kovalenko drills a low ball into the box where Mendy intercepts, but the loose ball bounces square and back into the danger zone. It goes past Varane, who inexplicably leaves it, and Dentinho races in and fires past the onrushing Courtois! It's 1-0 to Shakhtar!
SAVE! Taison does superbly to race forward down the left and beat Varane to work a shooting angle in the box, but Courtois races out and saves with an outstretched leg!
OVER! Real Madrid work it from left to right and Benzema is played into the box. He beats his man with a clever feint and dinks the ball to the back post, but Nacho heads over the bar! What a chance!
Benzema has the ball on the edge of the box and he works a yard on his left before drilling a low effort at goal, but it's too central and Trubin holds on.
Real started strongly but faded as the half wore on - and the weather worsened. Zidane will want more of the energy his side started the game with in the second period. Castro, meanwhile, will be encouraged at how well his men have disrupted Los Blancos' flow and will hope that continues.
There goes the half-time whistle! It's all square at the break in Kiev as Real Madrid have struggled to break their hosts down. Trubin made a superb one-handed save to deny Asensio, who hit the post earlier in the half as Real's two best chances fell his way. It's 0-0 at half-time!
Shakhtar work a corner well but it doesn't quite come off and Real look to break quickly, but Stepanenko nips in to dispossess Benzema.
HALF-TIME: SHAKHTAR DONETSK 0-0 REAL MADRID
We're back underway for the second half!
A short corner eventually ends up with Odegaard on the edge of the box but the young midfielder appears to be caught in two minds and his effort ends up being tame and looping straight into Trubin's grasp.
Benzema blazes a shot way over the bar as he snatches at an effort off-balance. That's impressively high.
Dentinho goes down with an audible scream of pain as he goes for a 50-50 with Varane and comes off second-best. That will be concerning for Castro, having brought Dentinho on to replace the injured Moraes. It seems as though the striker will be able to carry on for now, at least.
Real are enjoying a little more of the ball now but the final ball isn't quite right yet and they aren't asking enough questions of the Shakhtar defence.
Real still haven't managed to wrest control of the game back and it's all getting bogged down in midfield at the moment.
A number of fouls in wide areas have just disrupted the flow of the match in the last few minutes as both sides look to progress down the wings.
Nacho has been guilty of some poor passes tonight and he plays another one, firing at Mendy with far more power than necessary and slightly behind him, resulting in a Shakhtar throw-in.
CHANCE! A really poor pass across the defence sees the ball played straight to Odegaard on the edge of the Shakhtar box! He smashes a strike at goal but it's deflected into the goalkeeper's arms!
SAVE! Great one-handed save from Trubin as he reacts sharply to keep out a rocket of a strike from Asensio at his near post!
SAVE! Odegaard swings in a corner from the left that Nacho races onto and heads downwards to the near post, but Trubin makes the save!
Madrid build dangerously down the left and the ball is played forward sharply for Mendy, but the left-back is just a fraction offside.
Moraes hasn't been moving freely since returning to the fray and Castro has decided to replace him. Dentinho comes on up front.
Shakhtar have looked much more dangerous in the last few minutes. Real Madrid were completely dominant in the first quarter of an hour or so but they've faded since Varane was booked.
Rodrygo shows great composure as he intercepts a dangerous ball into the box towards Matvyenko, controlling expertly and getting the ball away.
Moraes looked certain to be forced off and was taken to the sidelines, but he seems to have recovered and he's back on the pitch now.
Moraes has stayed down following Varane's challenge and he seems to be in a lot of pain. He may have to be replaced.
A poor pass from Nacho catches Varane on his heels and allows Moraes to nip in and nick the ball. He knocks it past the Frenchman, who brings him down and picks up a yellow card.
SAVE! Modric slips an excellent ball in behind for the run of Benzema, who smashes the shot at goal first-time, but Trubin stands tall and beats it away!
A loose backpass nearly gives the ball away in a very dangerous position, but Nacho slides in to make an inch-perfect tackle! Mendy does very well to keep the ball in play before setting his side on the front foot.
OVER! Tete gets to the edge of the box but he's completely surrounded. He twists and turns before eventually releasing the ball to his right for Taison, who takes on the shot, but he blasts it just over the bar!
POST! How are Real Madrid not in front?! Benzema receives the ball on the left, works himself a yard and squares to the near post for the run of Asensio. The Spaniard calmly beats his marker and the keeper to the ball before sweeping at goal from just a few yards out, but it comes back off the post! He can't believe it!
Rodrygo jinks past his man with a lovely feint and races to the edge of the box before rolling an excellent low ball into the middle for Benzema, but it's intercepted and hacked away. Some bright early touches there for the young Brazilian.
We're underway in Ukraine!
Since beating Real Madrid in he reverse fixture, Shakhtar have won none of their three games in the Champions League (D1 L2), failing to score in all three games and shipping a total of 10 goals. Additionally, Shakhtar have failed to score with each of their last 23 shots in the Champions League - only six of these 23 attempts have been recorded on target.
An entertaining contest should be on the cards tonight as the previous three games between Shakhtar Donetsk and Real Madrid in the Champions League have seen a total of 16 goals scored, at an average of 5.3 per game.
Meanwhile, Real Madrid manager Zinedine Zidane makes four changes after his side slumped to a disappointing 2-1 defeat against Alaves in LaLiga in their last outing. Marcelo, Casemiro and Mariano drop to the bench, with the injured Eden Hazard absent from the squad. Mendy, Odegaard, Rodrygo and Benzema take their places.
Shakhtar head coach Luis Castro makes sweeping changes from his side's 1-0 win over Dnipro-1 in the Ukranian Premier League, with only six players keeping their places. Trubin, Dodo, Bondar, Matvyenko, Tete and Marlos are the men who retain their starting spots.
Real Madrid substitutes: Sergio Arribas, Vinicius Junior, Isco, Mariano, Eder Militao, Casemiro, Marcelo, Victor Chust, Diego Altube, Andriy Lunin.
Real Madrid XI (4-2-3-1): Thibaut Courtois; Lucas Vazquez, Nacho, Raphael Varane, Ferland Mendy; Luka Modric, Toni Kroos; Rodrygo, Martin Odegaard, Marco Asensio; Karim Benzema.