Swiss Wawrinka outlasted No.1 seed Nishikori 6-2 4-6 6-4 to set up a final showdown with Gael Monfils, who earned a measure of revenge in ending Daniil Medvedev's fine run.
Wawrinka had not reached a final since the 2017 French Open, where he lost to Rafael Nadal, after a rotten run with injuries but will now bid for a 17th career title.
After dominating the first set, Wawrinka was 4-0 down in the second before mounting a comeback that fell short and saw the match enter a decider.
There was little to separate the two until Nishikori had to serve to stay in the contest and a thumping forehand winner on his first match point left Wawrinka celebrating a big win.
A week after losing to Medvedev in the Sofia Open semi-finals, where the Russian went on to become champion, Monfils earned a 4-6 6-3 6-4 triumph in their rematch.
Monfils, a runner-up in Rotterdam in 2016, landed 29 winners in a match lasting two hours and eight minutes.
Medvedev had won 15 consecutive sets before dropping the second to Monfils.