My wife and I are doing some high level trip planning for Scandinavia and other locations. So far, we will fly into Bergen from Copenhagen and we'll spend the day. The next morning, we will begin the "nutshell tour". When we get to Flam, we thought we would rent a car for one day and stay overnight at either Balestrand or Solvorn. The next day depart Flam for Oslo on the late afternoon Flamsbana train for Oslo. I'd appreciate thoughts about which location for our overnight be better and why. I know, it would be better to spend three or four days in and around the fjords of Norway but we have one to spend.
Bearing in mind that my information is from 2015, I would stay in Solvorn, mostly because I think the smaller fjords are the most beautiful. Having said that, there aren't really any restaurants in Solvorn. The Walaker Hotel might be the only one. And besides the Walaker, there might only be the Eplets Hostel as accommodations. We stayed at Eplets and had a private room but with a shared bath. Didn't have any problems and we had a wonderful 3 night stay (cooking with a family from India was very enjoyable). There are more hotels and restaurants (really cafes) in Balestrand. Finding accommodations might be what makes the decision for you.
You really do need to stay longer. We did the “nutshell” and then spent 2 nights in Balestrand and 2 nights in Solvern. Both are picturesque towns. You can’t go wrong with either.
You should check out the options for accommodations in Balestrand and Solvorn to help with your decision. In Solvorn, I believe you'll need to stay at least two nights if you want to stay at Eplet Bed & Apple/Hostel, otherwise I believe your only other option is the Walaker Hotel for about NOK 4000 per night. There are more options to choose from in Balestrand.