The lake itself is cheap — swimming, walking and cycling cost nothing — and the one line that controls your budget is the bed, because rooms in July and August can cost three times what they do in June.
What a day costs
A day ticket to Balatonfüred's Kisfaludy strand is 2,200 Ft for adults and 1,400 Ft for children, dropping to 1,200 and 800 Ft after 4pm. Add lángos and a beer from the beach büfé and you have spent little; the accommodation is what decides the day, and in peak weeks it can treble.
Kisfaludy strand's afternoon ticket
The beach runs 08:00–19:00 from 20 June to 23 August and 08:30–18:00 either side of that. Turning up after 16:00 halves the price, and the water is still warm at six.
June and September, not August
The lake is warm enough to swim from June and stays swimmable into September, and both months avoid the peak-weekend pricing. July and August weekends are when everything costs most and every strand is full.
Come by train, then walk
Direct trains from Budapest Déli and Kelenföld reach Balatonfüred in about two hours, and the northern line runs close to the water the whole way. Buses between the lake towns exist but thin right out off-season, so plan around the railway.
Cross on the Szántód–Tihany ferry
BAHART's car ferry crosses the narrows in about ten minutes, with departures from early morning, and takes foot passengers and bicycles as well as cars. It saves the long road around the peninsula if you are moving between the shores.