Medellin has two airports. The international one, José María Córdova (MDE), sits an hour east of the city at Rionegro and handles long-haul flights from the US, Mexico, Panama, and Madrid, plus most domestic flights from Bogotá. The smaller Olaya Herrera (EOH) inside the city itself handles regional propeller flights to Colombia's smaller towns. From MDE, share a colectivo taxi to Poblado (around an hour) or take the airport bus that connects to the metro at San Diego.
Overland routes from Bogotá take eight to ten hours by bus; from Cartagena around fourteen hours. Comfortable double-decker night buses are the standard way to do either.