Heredia is ten kilometres north of San José and connected by regular public bus service. Buses from the Coca-Cola terminal in San José run frequently and take around 30 to 40 minutes depending on traffic. The city can also be reached by bus from Alajuela (near Juan Santamaría International Airport), making it possible to bypass San José entirely if arriving by air.
By car from San José, take the autopista General Cañas north to the exit for Heredia — the journey takes 20 to 30 minutes in normal traffic, longer during peak hours. Traffic on the San José–Heredia corridor is heavy in the mornings and late afternoons.
There is no rail service to Heredia. If arriving at Juan Santamaría International Airport, taxis and private shuttles are available; the journey takes around 25 minutes from the airport.