We are flying into Zagreb from the US prior to starting a Best of Adriatic tour in Ljubljana in June. I am looking for thoughts/recommendations on the best way of getting from Zagreb to Ljubljana. We arrive around noon in Zagreb. The two options I have found so far are train or Flixbus.
Look into GoOpti (a Slovenian shuttle company) also, unless the train schedule works well for you.
After reading the great reviews on this forum we chose to book a shared ride on GoOpti. We will use this shuttle from Venice to Ljubljana. Based on reliability, convenience and fee it's the way to go. GoOpti.com
There are more buses than trains, but check the precise date you'll be traveling for the likely departure period (perhaps 1 PM to 4 PM??). I wouldn't hesitate to use the bus from the standpoint of comfort. I bussed from Zagreb to Rovinj.
You can click on the number of each bus and see who operates it, then try to find the company's website to verify the schedule info..
I'd be reluctant to plan a shuttle like GoOpti, given the uncertainty of your arrival time after (I assume) a transatlantic flight. At least with the public bus, the cost is only about $10 (US) per person, so if you make your best guess and end up missing the bus, you're not out a huge amount.
I believe the airport bus goes directly to the bus station. Although the bus and train stations in Zagreb look fairly close together on the map, it's a walk of close to a mile. There are always taxis waiting at the bus station, and there was city transit there as well (I think trams); I just don't know which line would take you past the train station, and I can't tell you anything about the ticket situation, because I just walked within Zagreb.
At least as of 2015 the train station was rather lightly used, whereas the bus station was hopping. There was a branch of the tourist office in the same complex. Both it and the ticket windows are upstairs. There are a lot of bus platforms, so allow a bit of time to get to the right spot.