Switzerland's 2015 champion needed almost two and a quarter hours to defeat the Japanese star who was playing at the Dutch event for the first time.
Wawrinka will face off for his first title since Geneva in May 2017 when he plays against good friend Gael Monfils in Sunday's final.
The French showman returned to the final as he overhauled Daniil Medvedev 4-6, 6-3, 6-4.
Nishikori suffered only his second loss of the season against 11 victories, which included the Brisbane title and a quarter-final run at the Australian Open.
Wawrinka, 33, won the first set from a 4-0 lead, trailed 0-4 as Nishikori levelled in the second before he broke in the final game of the third.
The Swiss world number 68 sent a stinging service return winner down the line to clinch victory, which comes almost a year and a half after he underwent two knee surgeries in the summer of 2017.
"It's a big relief to reach my first final since my surgery," Wawrinka said.
"It's really important to see that I can play a full week of matches. I'm feeling good physically, I'm glad to be in a final again and glad to do it here."
He added: "When you come back from surgery, you need to be patient with yourself. The toughest thing is to come back at the right level, where you want to be."
The Swiss won his last meeting with Monfils at Roland Garros two years ago.
Wawrinka ended with eight aces and 35 winners while breaking Nishikori five times.
"Stan was playing well in the first set, but not like amazing," said Nishikori.
"I made too many mistakes, too many unforced errors, I could have played better. I was missing too much."
Monfils said he will be heading into Sunday's final needing painkillers to ease a left wrist injury.
The 32-year-old had also reached the title match in his last Rotterdam appearance in 2016, when he lost to Martin Klizan.
Monfils revealed that he has been suffering all week with a left wrist injury.
"I fell heavily on day one and I've felt it every day. I've been on painkillers. It's not so good but I'm working with my physio," said the world number 33.
"I try not to think of it. I hope the momentum will get me through."
Victory on Saturday was quick revenge for Monfils, who lost to Medvedev a week ago in the Sofia semi-finals, an event which the Russian won.
Medvedev's defeat was only his third loss of the season, leaving his record at 14-3.