The 27-year-old, who became the first man to reach the semi-finals on his grand slam debut in the Open era at the Australian Open last month, edged out his in-form compatriot 6-2 4-6 6-4.
Karatsev, who climbed from No.114 to No.42 in the world rankings after the Australian Open, will face Lloyd Harris in Sunday's (AEDT) final after the South African's 6-7 (5-7) 6-4 7-6 (8-6) win over Denis Shapovalov.
"It was a really tight match (against a) tough opponent," Karatsev said.
"It was an unbelievable performance (from Andrey). He didn't lose a match at an ATP 500 in (one year). Everything was decided in one or two points, I feel happy."
He ended No.2 seed Rublev's 23-match winning streak in ATP 500-level tournaments to become the first wildcard to make the Dubai final since Thomas Muster in 1997.
It will be his first ATP singles final, having won his maiden ATP title playing with Rublev in the Doha doubles tournament last week.
Karatsev raced through the opening set with a run of five straight games, but was pegged back in the second as Rublev broke in game 10, having saved five break points himself earlier in the set.
But Karatsev was not to be denied, as he moved into a double-break lead at 5-2, before holding off a dramatic Rublev fightback.
He saved two break points in a tense final game, before clinching victory on his second match point.
"In the third set, I broke him back. I was leading with two breaks and then again, at 5-4 (it was a) tight game," Karatsev added.
Earlier, South Africa's Harris rallied from a set and a break down to beat Shapovalov.
The 24-year-old Harris is the first qualifier to make the final at the tournament, having taken out US Open champion Dominic Thiem and Kei Nishikori in previous rounds.
"I don't have many words right now. I am super happy with that win," Harris said.
"Being a set and 2-4 down is mentally and physically a little bit troublesome for me, but I found my best tennis from there. I am just extremely happy with the result right now."
No.3 seed Shapovalov appeared on course for victory after shading a first set tie-break and then breaking Harris in the fifth game of the second set.
However the Canadian, who hadn't dropped serve all week, committed a string of unforced errors and was broken twice in a row as Harris forced a final set.
Both players held serve throughout the decider before Harris triumphed on his second match point in another tie-break.