World number one Novak Djokovic claimed the 999th win of his career after beating Felix Auger Aliassime 7-5 7-6 (7-1) to reach the semi-finals of the Italian Open.
The Serbian top seed, 34, was 5-2 up in the second set before being pegged back to 5-5 by the Canadian.
Djokovic will take on Norwegian fifth seed Casper Ruud for a place in the final.
Alexander Zverev will face Stefanos Tsitsipas in the other last-four tie.
Djokovic, who is aiming to win a sixth title in what will be his ninth consecutive semi-final in Rome, let out a huge roar as he closed out a tight first set.