The 19-year-old hometown prodigy will play for the title on Sunday
against the winner of a later match between Czech qualifier Marie
Bouzkova and 23-time Grand Slam singles champion Serena Williams.
Andreescu won her only WTA title in March at Indian Wells.
Kenin stunned Australian top seed Asheligh Barty in the second round,
ensuring the Aussie would fall from the world number one perch, and
ousted Williams in the third round at the French Open.
But the 20-year-old American couldn't manage her third career WTA
title after lifting trophies at Hobart in January and Mallorca in June.
Kenin defeated Andreescu in an Acapulco semi-final earlier this year
but the Canadian avenged the defeat at Miami and held firm at the finish
to frustrate the American once again.
Kenin denied Andreescu on three match points to hold in the 12th game
of the second set and reach the tie-breaker, where Andreescu took
advantage of her fifth match point chance of the semi-final to advance
after two hours 11 minutes.