There is no direct train service between Budapest and Athens. The journey requires multiple connections and typically takes ~15–18 hours (or more), depending on routing and layovers.
Common routing: Budapest → Belgrade (Serbia) → Thessaloniki (Greece) → Athens. Alternatively: Budapest → Bucharest (Romania) → Sofia (Bulgaria) → Thessaloniki → Athens.
Challenges: Sparse international Balkan rail services, border procedures, schedule misalignments, potential bus substitutions on non-electrified sections.
Practical alternative: Fly Budapest → Athens (~2 hrs direct). Or fly to Thessaloniki + train/bus to Athens. Rail-only is for dedicated enthusiasts with time and flexibility.