Novak Djokovic skulle bara ta sig till final i turneringen som spelas på Novak Tennis Centre i den serbiska huvudstaden Belgrad. Men i semifinal stötte han på patrull.
Den 27-årige Karatsev tog hem första set och såg ut att vara på väg mot två raka då han ledde med 4-2 i det andra, men då vände världsettan och vann setet med 6-4. Karatsev visade upp ett imponerande lugn genom hela matchen och det behövdes verkligen i det sista då han räddade hela tio breakbollar. Sammanlagt räddade han imponerande 23 av 28 breakbollar.
Setsiffrorna skrevs 7-5, 4-6, 6-4 och matchen tog hela tre timmar och 25 minuter. Det är den längsta matchen på ATP-touren under 2021.
Karatsev möter nu Matteo Berrettini som slog japanen Taro Daniel i sin semifinal.
Skrällförlust för en dryg vecka sedan
Förlusten kommer bara drygt en vecka efter att serben blivit utslagen från ATP-turneringen i Monte Carlo av britten Daniel Evans, rankad 26:a.
Djokovic tog sin 18:e grand slam-titel när han vann Australian Open i februari, men den formen tycks vara som bortblåst.
– Roland Garros (Franska öppna) är fortfarande mitt huvudfokus. Men jag måste spela mycket bättre för att kunna vinna där. Jag har mycket jobb framför mig, säger Djokovic.
Franska öppna börjar den 24 maj.
Flera andra topprankade spelare har samtidigt deltagit i en annan ATP-turnering i Barcelona. Där möts Rafael Nadal och Stefanos Tsitsipas i final i morgon.
KLIPP: Djokovic tog nionde Australian Open-titeln (21 februari 2021)