Berchtesgaden is in the far south-eastern corner of Bavaria, 150km from Munich. By train from Munich, the journey takes about 2.5–3 hours with a change at Freilassing, and the final stretch from Freilassing through the mountains is scenic. Direct trains run several times daily.
By car from Munich, the drive is about 2 hours via the A8 and A10 autobahns, turning south at the Austrian border. The town has limited parking and fills up in summer; the main car park at the Königssee is large but charges a fee. Note that the Obersalzberg road and the Eagle's Nest road are closed to private cars — buses from the town centre serve both.
Salzburg Airport in Austria (30km north, about 30 minutes by car or direct bus) is the nearest airport with significant connections. Munich Airport is 170km.