Rome2Rio

How to get fromSt. Louis to Machu Picchuby plane, train or bus

Find Transport to Machu Picchu

See all options

There are 4 ways to get from St. Louis to Machu Picchu by plane, train, or bus

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.

  1. Fly from Lambert–St. Louis International Airport, Train + Bus

    best
    1. Fly from Lambert–St. Louis International Airport (STL) to Alejandro Velasco Astete International Airport (CUZ)plane plane STL - CUZ
    2. Take the train from Cusco - Wanchaq to Machu Picchu Pueblotrain train
    21h 21m
    $448–3,018
  2. Train to Central Illinois Regional Airport At Bloomington-Normal, fly, Train + Bus

    cheapest
    1. Take the train from St. Louis to Bloomington-Normaltrain train
    2. Fly from Central Illinois Regional Airport At Bloomington-Normal (BMI) to Alejandro Velasco Astete International Airport (CUZ)plane plane BMI - CUZ
    3. Take the train from Cusco - Wanchaq to Machu Picchu Pueblotrain train
    28h 35m
    $347–2,623
  3. Bus to Evansville, fly, Train + Bus

    1. Take the bus from St Louis Bus Station to Evansville Bus Stationbus bus
    2. Fly from Evansville (EVV) to Alejandro Velasco Astete International Airport (CUZ)plane plane EVV - CUZ
    3. Take the train from Cusco - Wanchaq to Machu Picchu Pueblotrain train
    26h 5m
    $472–2,989
  4. Fly from Midamerica St. Louis Airport, Train + Bus

    1. Fly from Midamerica St. Louis Airport (BLV) to Alejandro Velasco Astete International Airport (CUZ)plane plane BLV - CUZ
    2. Take the train from Cusco - Wanchaq to Machu Picchu Pueblotrain train
    28h 38m
    $410–2,746

Lambert–St. Louis International Airport (STL) to Alejandro Velasco Astete International Airport (CUZ) flights

Calendar35Weekly Planes
Duration14h 1mAverage Duration
Ticket$374Cheapest Price
See schedules

Questions & Answers

What companies run services between St. Louis, MO, USA and Machu Picchu, Peru?

There is no direct connection from St. Louis to Machu Picchu. However, you can take the train to LAMBERT AIRPORT TERMINAL #1 station, walk to Lambert–St. Louis International Airport (STL) airport, fly to Alejandro Velasco Astete International Airport (CUZ), walk to Cusco Airport, take the bus to Avenida Pardo, walk to Cusco - Wanchaq, take the train to Machu Picchu Pueblo, walk to Aguas Calientes, then take the bus to Machu Picchu. Alternatively, you can take the bus to Evansville Bus Station, take the taxi to Evansville (EVV) airport, fly to Alejandro Velasco Astete International Airport (CUZ), walk to Cusco Airport, take the bus to Avenida Pardo, walk to Cusco - Wanchaq, take the train to Machu Picchu Pueblo, walk to Aguas Calientes, then take the bus to Machu Picchu.

Airlines
Train operators
Bus operators

Want to know more about travelling around Peru

Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.

Related travel guides

Need to know: Greyhound

Read the travel guideNeed to know: Greyhound