The American second seed and U.S. Open champion eventually made his explosive serve count against the dogged Croatian and will face champion Roger Federer in the final on Sunday.
Roddick, who lost to Federer in the semi-finals here last year, was a set and 4-3 up when the contest was abandoned because of rain on Friday.
But 20-year-old Ancic, ranked 63rd in the world, broke him immediately upon their return to action on Saturday and followed that by holding serve and then breaking again to win the second set.
The turning point of the match, which was moved from Centre Court to court one because of the weather, came in the second match of the third set when Roddick looked like he was going to lose a third service game in a row.
But he held his nerve, saved five break points and, after a couple more rain interruptions, sealed his place in the final on his third match point.
More from rediff