On average, a flight from Bangkok to Machu Picchu takes 58 hours 15 minutes. Flights to Machu Picchu from other popular cities in Thailand will vary in length. Below are a few examples of popular routes and their flight times.