The Serbian struggled early with an apparent neck complaint against eighth seed Roberto Bautista Agut before finishing 4-6 6-4 7-6 (0) over the Spaniard in three hours and one minute, the longest match of the tournament.
Djokovic described the match to reporters afterwards as “very strange”, adding: “I don’t know how I won it, to be honest. He was the better player.”
Picture perfect 😍@DjokerNole | @CincyTennis pic.twitter.com/OoEYw1oHQw
— ATP Tour (@atptour) August 28, 2020
The 33-year-old called on his mental toughness and strong serve in the win, serving just three times in the final-set tie-break but with each an ace.
The Serbian, who is also aiming to win his fourth US Open, is one victory away from tying Rafael Nadal for the most Masters 1000 titles with 35.
But to do it he will have to beat former No 3 Raonic after the Canadian upset fourth seed Stefanos Tsitsipas 7-6 (5) 6-3.
You love to see it 😍@milosraonic is back to his very best 🎾
🎥: @TennisTV | @CincyTennis pic.twitter.com/3pPFosBrAq— ATP Tour (@atptour) August 28, 2020
Raonic, who conquered Andy Murray on the way to the semi-final, won 90 per cent of first-serve points across one hour and 37 minutes on court.
The 29-year-old, who is ranked 30th, will attempt to become the first unseeded player to lift the trophy in the Open era when he meets Djokovic in the final.