Fernandez won her fourth straight three-set match and added the Belarusian to a list of top players she has beaten during this run at Flushing Meadows.
The Canadian hit 26 winners and broke Sabalenka four times to set up an unlikely final against 18-year old British qualifier Emma Raducanu.
Fernandez outlasts Sabalenka, claims spot in championship match
Sabalenka hit five winners in the opening two games of the match and after a hold to love, she was in front 3-0 after just eight minutes played.
As she has done the entire tournament, Fernandez slowly worked her way back into the match, breaking when the second seed double-faulted to make it 4-3.
The Canadian saved a break point in her next service game and the set would be decided in a tiebreaker. Again, Sabalenka jumped in front early, but later on, a botched overhead gave the teenager a 5-3 advantage .
Another double fault handed the Canadian three set points and she only needed one as a wide serve was unreturned to put Fernandez in front in a set she probably should have lost.
The second set mirrored the first as Sabalenka again took a 2-0 lead only to see Fernandez rally back and level at 3-3, saving another break point.
With her serve now working to full effect, Sabalenka closed the set by winning the final three games. A love hold to close out the set was punctuated by a forehand volley winner to even the match.
Fernandez was challenged in the opening game of the third set, holding from deuce. The Canadian broke in the sixth game as the Belarusian went long with a backhand and assumed a 4-2 lead.
Sabalenka broke back on her fourth chance, a forehand winner closing out the game and a hold evened the score at 4-4, putting pressure back on Fernandez. The teenager held to 15 to move within a game of victory.
Consecutive double faults by the second seed brought up triple match point and Sabalenka overhit a final forehand as Fernandez continued to defy the odds.