Machu Picchu is located just fifty miles from Cusco. However, there is no direct road between the two cities. Unless you're walking the Inca Trail, you'll need to take a train from Cusco. The main operators are Peru Rail and Inka Rail, each of which offers a variety of budget and luxury options. Peru Rail runs a luxurious train, named after Hiram Bingham, that costs around 400 USD for a round-trip. Demand is high, so be sure to book the tickets in advance. You can also take any of the trains from Ollantaytambo to the small town of Aguas Calientes. From there, Machu Picchu is a 30-minute drive up the hill.