Ruud overcomes tall order to reach Geneva final