Find a reputable shoe repair shop. I have a great one near my house-he charged me no more than $20 to resole a pair of boots that basically had a hole in the bottom I'd worn them out so much. It's no big deal for them-I've gotten rubber soles put on leather soled shoes (because leather soles are totally unwearable in a rainy climate) and all sorts of repairs done-and it's never outrageous. Totally worth it for an expensive pair of shoes. My boots cost $150 and after 2yrs of wear, putting $20 will get me another 2yrs out of them at least.
You don't necessarily need to go to the fanciest or most expensive place-ask around friends/family and see if they can suggest someone.
Ask around about which shoe shop in your town is best (some are better than others). But any good cobbler should be able to resole your shoes. On the other hand, if you want them to be like new, you might want to write to the company that made them to see if they provide a re-sole service. Many do!
I just got 2 pair of Choo flats resoled for $24.95 each, however the place that I went to was TERRIBLE and I think they didnt do as well on my shoes as I would have liked because I jumped all over them for taking a week longer than the original 10 days they told me (long story, but they promised me 3 seperate dates before I put my foot down and demaned they get done).
Anyway, just wanted to say to ask for examples of their work before you commit and make sure you go to a reputable place. I had beautiful (but well worn) soft light leather soles on the bottom of my flats and they replaced it with roughly sanded dark brown hard leather which I dont like...but luckily it is the bottom.