Amazing public transport browser for the whole Czech Republic in English:
www.idos.cz / switch to English
TRANSPORTATION FROM PRAGUE:
You can be in Olomouc in a bit more than 2 hours by train. You can choose from 3 companies with very good services and even complimentary WIFI and refreshment (Leo Express, Regiojet and SC Pendolino by Czech Railways / České dráhy).
With freshly brewed espresso for free and cake for 0,2€ your journey will fly.
REGIOJET COMPANY
www.regiojet.com/en
LEO EXPRESS COMPANY
www.le.cz/i.php
CZECH RAILWAYS / ČESKÉ DRÁHY
https://old.cd.cz/en/default.htm
Average single way ticket Prague-Olomouc cost 10€ / 250CZK.
TIP: Fares vary depending on demand. The cheapest is to buy tickets ahead or for early morning or late evening. The differences can be even 6€. Next day ticket for morning train at 5:44 was with REGIOJET for 3,90€ only in June 2017.
TRANSPORTATION FROM BRNO:
1 hour by BUS, plenty of connections per hour. Tickets from 3€ / 75CZK
Check it here: www.idos.cz / switch to English.
Best bus company: www.regiojet.com/en/
90 minutes by train https://old.cd.cz/en/default.htm
TRANSPORTATION FROM OSTRAVA:
1h by train or bus, plenty of connections per day. Tickets from 3€ / 75CZK.
Check it here: www.idos.cz / switch to english.
REGIOJET COMPANY
www.regiojet.com/en
LEO EXPRESS COMPANY
www.le.cz/i.php
CZECH RAILWAYS / ČESKÉ DRÁHY
https://old.cd.cz/en/default.htm
OTHER DESTINATIONS
Warszawa: 5½h / https://old.cd.cz/en/default.htm
Katowice: 3h, no change of train / https://old.cd.cz/en/default.htm
Kraków: The only direct train is a night train Silesia arriving in Olomouc at 4:45AM. Other connections require at least one change.
Long-distance trains stop at Olomouc hlavní nádraží (Olomouc Main Station) / https://old.cd.cz/en/default.htm