Chardy, ranked 61st, rallied to reach his first ATP final. He'll face the winner of the match between top-seeded Jo-Wilfried Tsonga and Frederico Gil of Portugal.
Chardy appeared no match for the Spaniard in the first set, losing 6-1 in just 27 minutes. But he had 11 aces to Ferrer's 10 in the second set, winning the tiebreaker 11-9.
Chardy served well in the third set to force another tiebreaker. He played aggressively, charging the net to clinch the win.
"I told Jo that I'd like to meet him in the final,'' Chardy said.
Oliveira’s Debut Goal Helps Real Betis Beat Ten Man Sevilla
Abel Resino Ecstatic With Atletico Madrid Debut
Chardy reaches final in Johannesburg