(CNN) -- World number one Dinara Safina faces Svetlana Kuznetsova in an all-Russian final at the Rome Masters claycourt tournament after a fighting three-set victory over Venus Williams on Friday.
Kuznetsova is continuing the good form she showed at last week's Porsche Grand Prix in Stuttgart.
Safina recovered from a set down to beat the five-time Wimbledon champion 6-7 6-3 6-4 in a match that lasted more than three hours while Kuznetsova cruised through 6-2 6-4 against Victoria Azarenka.
It is the second week running the Russians rivals will face a final showdown after Kuznetsova beat Safina in the Stuttgart climax 6-4 6-3 last Sunday.
Top seed Safina started slowly against fourth-seeded Williams and for the third straight match she dropped the opening set, but finally wore down her U.S. rival.
"She played well, continued to fight for every point. That's what you have to do on this surface," said Williams. "I congratulate her on playing good tennis the whole match."
Williams went up a break in the second set but Safina stormed back to win that 6-3 and set up the decider that saw five breaks of serve.
A backhand crosscourt winner from Safina gave her a third break for a 5-4 advantage and she finally clinched victory on her third match point.
"Venus has won so many Grand Slams (seven) and so many big tournaments and still in such a tight moment I still could manage to win the match," she said after her first win over Williams.
"So I think it just, for myself, gives me confidence."
The finalists have both finished runner-up once before in Rome, Safina in 2006 and a year later Kuznetsova who ousted two-time defending champion Jelena Jankovic in this week's quarterfinals.