By train. Olomouc sits on the main Prague–Ostrava–Žilina line, with frequent fast trains. From Prague's main station, SC Pendolino and railjet services reach Olomouc in about 2 hours; RegioJet and LEO Express offer cheaper private trains. From Brno, the journey is 90 minutes. From Bratislava and Vienna, expect around 3–4 hours via Brno.
By bus. Long-distance coaches by FlixBus and RegioJet also connect Olomouc to Prague, Brno, Ostrava and across the borders.
By plane. There is no commercial airport in Olomouc. The closest are Brno (Tuřany, about 90 km), Ostrava (Mošnov, about 100 km), and Vienna or Prague for international long-haul. All three connect by direct train or bus.