There are two realistic ways to get from Lima to Cajamarca, and they are not close substitutes. One takes an afternoon, the other takes a night and most of a day.
Flying
Direct flights from Lima's Jorge Chávez to Cajamarca's Aeropuerto Mayor General FAP Armando Revoredo Iglesias take about 90 minutes. LATAM and Sky Airline operate the route, generally with one to three departures a day depending on season.
The airport sits roughly 3 km from the city centre, which is a ten-minute taxi ride. There is no airport bus worth the name; take a taxi and agree the fare before getting in.
Booked a few weeks ahead, fares are usually reasonable. Booked inside a week, or during Carnival or the July holidays, they climb sharply.
Two practical warnings. The runway sits in a valley that collects morning cloud, and weather diversions and cancellations are not rare, so do not schedule a tight international connection on the return. And baggage allowances on the budget fares are genuinely small.
Taking the bus
Overland from Lima is roughly 14 to 16 hours, almost always overnight. The main operators are Movil Tours, Civa, and Oltursa. The road runs north along the coast to Trujillo or Pacasmayo, then turns inland and climbs into the sierra.
Pay for the good seats. The top tier, variously called cama, VIP, or suite depending on the company, gives you a seat that reclines to around 160 degrees or fully flat, and it is the difference between arriving rested and arriving wrecked. The price gap is small relative to the flight.
The climb into the mountains happens in the early morning, and it is genuinely worth being awake for. It is also the stretch where the altitude gain is noticeable, which brings a real advantage: you arrive gradually rather than stepping off a plane straight into 2,750 metres.
Buses arrive at terminals on Avenida Atahualpa, a short taxi ride from the centre.
Which to pick

Fly if your time is limited, you are coming for a short trip, or you are travelling with people who will not tolerate a night on a bus.
Take the bus if you want to save money, you are sensitive to altitude and would rather ascend slowly, or you are already in Trujillo or Chiclayo. From either of those the ride is only six to eight hours and the calculation changes completely.
A good compromise: fly Lima to Trujillo, spend a night, then take the shorter daytime bus up to Cajamarca. You get the mountain scenery, a gentler ascent, and you skip the long coastal stretch that has nothing to look at.




