World number one Novak Djokovic was full of praise for his Serbia Open semi-final conqueror Aslan Karatsev but bemoaned his own "low level" performance.

Karatsev got past Djokovic in the longest match of the 2021 ATP Tour in Belgrade, triumphing 7-5 4-6 6-4 on Saturday.

The match went for three hours and 25 minutes, with the Russian securing a spot in Sunday's final against 10th ranked Matteo Berrettini.

The Serbian had beaten Karatsev in the Australian Open semi-finals two months ago, with the 27-year-old Russian, who is now ranked 28th, returning the favour.

"From my side, I played on quite a low level, in my opinion," Djokovic said.

“[I had] some flashes of good quality tennis. I was fighting. That is a positive.

"I was really trying all the way [and] the crowd was great. They carried me and tried to lift me up, all the way to the end.

"Because of them, I think I won the second set. Unfortunately in the third, he was just the better player in the decisive moments. I had my chances, but that is sport."

Djokovic was gracious in defeat, offering a thumbs up immediately after Karatsev secured victory along with complimentary words to his opponent who saved 23 of 28 break points.

"Karatsev showed a lot of courage and that is why I gave him the thumbs up," Djokovic said.

"I felt like he deserved to win… Once the final point is done, there is never bad blood. We are rivals on the court, but I don’t hate anybody. I can’t be upset with him if he beat me.

"I have to be upset with myself and question why I lost the match. Whoever beats me deserves the credit and I gave him that.

"I lost to a better player who was just more courageous. He went for his shots at the right time and it worked for him."