Kuznetsova will take on compatriot and world number one Dinara Safina in an all-Russian final on Saturday.
The 2004 U.S. Open champion is the only player to have beaten Safina on clay this season, in the final in Stuttgart last month.
In a scrappy start, four games went against serve before Kuznetsova snatched the decisive break in the seventh.
The Australian 30th seed threatened a comeback at 5-4 down but Kuznetsova shrugged off the break point with a forehand winner and pocketed the set on her second opportunity when Stosur failed to control a crosscourt backhand.
At change of ends after the ninth game, Kuznetsova took a medical time out to have strapping changed around her right foot following a fall in her previous match.
She took control of the second set with a break in the third game but Stosur hung on and broke back for 4-4, forcing a tiebreak.
Kuznetsova had a mini break for 3-1 after winning a spectacular eight-stroke volley exchange and went on to lead 5-2.
Stosur, who has 22 doubles titles to her name but has never won a singles tournament on the main tour, did not throw in the towel and won five points in a row to level the contest with a forehand winner.
Kuznetsova saved a break point in the fifth game and stole her opponent's serve in the following game.
She kept her composure and made it to a fourth grand slam final on her first match point when Stosur sent a forehand into the net.










