There is only one daily train connection to Prague and one to Olomouc from Zlín, however the best option is to take to take train to Otrokovice from where there are frequent (every 5-10 minutes) trolleybus connections to Zlín center. There is also connecting train from Otrokovice to Zlín going almost every hour. There are train connections from Otrokovice to Prague, Brno, Olomouc, Ostrava every 2-3 hours, and few direct trains to Vienna, Bratislava, Budapest and Warszawa per day. All these connections are provided by Český dráhy. It is possible to buy all inland train tickets online 
Alternative option for travellers from Prague is to take luxury train of company Student Agency till Olomouc and then change to the bus from Olomouc to Zlín. Price of this connection is almost the same as for trains of state owned company Český dráhy however you get free coffee in the train and bus + there is WiFi connection. It is possible to buy joined ticket for bus+train connection of this company both in the offices of Student Agency or online 
There are no international buses stopping Zlín. If you want to get to Zlín from some other Czech city where train connection is not very convenient, you can search for connection and buy the bus ticket online here 
There are 13 bus lines and 13 trolleybus lines in Zlín, however some of those lines covers also Otrokovice town. Here you can search connections within Zlín and Otrokovice . Bus stop located next to Otrokovice train station is called "Otrokovice,žel.st.", main stop in the city center is "Nám.Práce"
Once you find connection you need in the web page linked above, it will show you how much the ticket will cost. Be sure you buy ticket before you enter bus and stamp it in the bus. One ticket costs 12 - 18 kč., depends on how long ride you need. You can buy also one ticket for 24 hours (70kč.) or 7 days (180kč).
Spa town Luhačovice close to Zlín offer wide range of luxury hotels.
You can find bus connections from Zlín to all places listed above here []