The 17-time Grand Slam winner fired off 14 aces to keep his 2020 unbeaten streak alive, extending his record to 22-0 with his latest victory at Flushing Meadows, which is temporary host to the fanless tournament amid the coronavirus outbreak.
Djokovic, who has been struggling with a neck injury and received assistance from a tournament physio, held on to prevail in the third set as his opponent forced the match into a tiebreak.
He will next take on Raonic, who harnessed his monster serve to down Greek world number six Stefanos Tsitsipas 7-6(5) 6-3 in their semi-final clash, launching 12 aces and winning 90% of his first serves to earn a spot in his 22nd final.
The Canadian faces long odds to beat Djokovic, who has triumphed in all 10 of their previous meetings.
The pair meet on Saturday in the final of the tune-up event for the U.S. Open, with the Grand Slam starting on Monday.