Berdych, playing on a wild card, will compete in his third final of the season after Rotterdam and Dubai when he faces the winner from Argentine Carlos Berlocq and Daniel Gimeno-Traver of Spain.
"The first step is there, I'm in the final," said the winner. "Now it would be really great to win this title.
"It's always a pleasure to be competing at the end of a week. Every final counts and I'm really looking forward to this one."
The top seed won with five aces and four breaks of serve in a straightforward effort which put him into a 22nd career final.
More From This Section
The victory also gives Berdych a 2-0 lead in the series after defeating Hanescu in the Wimbledon second round six years ago.
The loss denied Hanescu his 200th career victory on the ATP.
"I finally found the way I want to play," said Berdych. "This is how I want to prepare on the clay.
Berdych, who lost early in Monte Carlo, dominated in the opening set, sweeping it in half an hour. He moved out to 3-0 in the second, with Hanescu ending a streak of three broken service games to hold for 1-3.
But world number six Berdych kept up the pressure, firing an ace for a 5-2 lead and breaking his opponent a game later to complete the win.
He is playing Portugal for the first time since 2005, when he lost in the opening round as a teenager.