World number five Kvitova, 25, beat five-time Grand Slam winner Maria Sharapova 6-3 7-6 (7-3) in Saturday's second semi-final.
Earlier, Radwanska, 26, overcame Spain's world number three Garbine Muguruza 6-7 (5-7) 6-3 7-5.
It will be Radwanska's first final at the event in her seventh appearance.
The world number six made the decisive break in the 12th game of the third set to finally break the Spaniard's resistance.
"It was a great match from the beginning to the end, lots of ups and downs, so many rallies and a lot of running," Radwanska said.
Radwanska had taken a 3-0 lead in the first-set tie-break before eventually losing it 7-5.
"I didn't know I could come back after that first set -  I am just so glad I could win that match," she said.
In the second semi-final, Kvitova broke in the seventh and ninth games to take the first set against Sharapova, who had won all three of her round-robin ties despite arriving in Singapore after a long injury lay-off.
The world number four hit back to take a 5-1 lead in the second set, but 2011 champion Kvitova rediscovered her rhythm to claim the victory in straight sets.
Petra Kvitova of the Czech Republic will meet Poland's Agnieszka Radwanska in the final of the WTA Finals in Singapore on Sunday.