The distance between Lima and Machu Picchu is around 500 km/310 mi linear. In practice, however, almost twice that range is needed to reach Machu Picchu from Lima. First, you drive from Lima to Cusco. The journey by bus takes nearly 20 hours. You can as well go by airplane. From Cusco, it depends on the chosen mode of transport. The way there can take from a few hours to several days.