För en dryg månad sedan chockade ett coronadrabbat Sjachtar Donetsk Real Madrid på bortaplan och vann med 3-2.
Sedan dess har Real Madrid kryssat mot Borussia Mönchengladbach och tagit två raka segrar mot Inter.
Men en vinst var alltjämt önskvärd för Real när de under tisdagskvällen gästade Sjachtar i ett Kiev som bjöd på snöfall.
Trots flera fina lägen, bland annat en tidig stolpträff från Marco Asensio, stod det 0-0 i halvtid.
Sjachtar före på inbördes möten
I andra halvlek gjorde Sjachtar som i den första matchen, chockade Real Madrid. I den 56:e minuten ställde hemmalaget om och inbytte Dentinho kunde sätta 1-0.
Och med knappa tio minuter kvar av full tid stod Manor Solomon för en fin prestation när han avancerade och borrade in 2-0 med högerfoten, något som blev slutresultatet.
Med en omgång kvar av gruppspelet ligger Real Madrid trea i grupp B, på samma poäng (7) som Sjachtar. Men ukrainarna har fördel av inbördes möten.
– Vi har haft dåliga resultat den senaste tiden men den enda vägen framåt är att fortsätta. Det här var en ”final” som vi var förberedda på, men bollen ville bara inte in i kväll. Nu har vi en match kvar – vi måste vinna den och gå vidare, säger Real-tränaren Zinedine Zidane till uefa.com.
Rafflande sista omgång
Real Madrid möter i den sista omgången Borussia Mönchengladbach på hemmaplan medan Sjachtar möter Inter på bortaplan.
Just Inter tog en blytung 3-2-seger borta mot Mönchengladbach senare under kvällen sedan Romelu Lukaku gjort både 2-1 och 3-1.
Alassane Pléa, som stod för ett hattrick mot Sjachtar för en månad sedan, såg ut att göra om bedriften mot Inter och ge sitt Mönchengladbach en viktig poäng. Men hans sena 3-3-mål dömdes bort sedan en VAR-granskning dömt lagkamraten Breel Embolo, som påverkade spelet, offside.
De leder alltjämt gruppen på åtta poäng och Inter är fortsatt fyra, men nu med fem poäng. Inför den sista omgången har därmed alla fyra lagen chans till avancemang.
UEFA Champions League
Shakhtar Donetsk
2 - 0
Real Madrid
Första halvlek
- 14'Varane
- DentinhoJúnior Moraes25'
Andra halvlek
- 1 - 0Dentinho57'
- MayconMarlos73'
- SolomonTaison74'
- 77'IscoØdegaard
- 77'M. DíazBenzema
- 77'Vinícius JúniorRodrygo
- 2 - 0Solomon (Maycon)82'
- FernandoDentinho85'
- Alan PatrickKovalenko85'