In addition to the national railway network (Ferrovia del Stato/Trenitalia), there are four railway companies in Puglia which operate independently of the national FS railway system; although the largest of these, Ferrovie del Sud Est (FSE), is now owned by the national railway system and is to an increasing extent becoming managed as part of this. It is possible therefore to reach many parts of Puglia by rail.

All four local railway companies also run significant bus service networks as well as railways. This section of our website deals with rail services only. In all cases, it is routine for the Sunday rail services to be offered using “rail replacement” coaches – these run between railway stations, operate to a railway timetable, and are quite separate from the ordinary bus services managed by the railway companies. All very straightforward once you know!

The national and local rail networks have benefited from significant investment and upgrading in recent years – line improvements, station modernisation, new locomotives and rolling stock. They are defintely up to the mark in terms of comfort and convenience. With the exception of the FSE, wheelchair users and passengers with bicycles can assume they can be accommodated, although it may be advisable to check in advance using telephone numbers which can be found on the company websites. In the case of the FSE, there are trains in operation where access is diffcult, so people with special needs are advised to check which type of train they will be using, again yusing telephone contacts given on the FSE website.

We give detailed information about the FS/Trenitalia newywork in Puglia, then of the local networks working north to south. You can jump to the relevant sections if you wish using the links below.



Ferrovie del Stato (FS)/Trenitalia services in Puglia

The national railway system of Italy operates the main railway routes in Puglia as far south as Lecce.

Overall it is reliable and easy to use. Times and fare options can be viewed via the Trenitalia website, and bookings can be made online, although onliner booking is not usually necessary for journeys within Puglia, especially on Regional trains, where trains can be conveniently bought at stations. All the stations have automatic ticket machines which take credit card payments and are easy to use. In many places nearby newsagents, tobacconists and coffee bars have a licence to sell tickets. Only the very large stations have staffed ticket offices and there can be queues; so don’t hesitate to use the machines or other sales outlets.

The FS/Trenitalia and Ferrovie del Sud est timetable and online booking systems have been integrated. This has benefits, but it has also caused some confusion, and users need to be aware of this. Online enquiries using the FS/Trenitalia and FSE online systems are presented with the same enquiry screen. The drop down options for departure and arrival points now give lists of all the FS and FSE stations in a town, and also all the bus stops served by the FSE, which can be numerous. It is therefore necessary to be careful about which departure and arrival point is specified whenever researching and booking online even for trips using only FS/Trenitalia services. .   

For most trips within Puglia, Regional trains will be the cheapest and most convenient option. These can be fairly basic, although the rolling stock is being upgraded very rapidly, and the newer coaches are very impressive, often one of the recently acquired Pop trains.


The national system of Freccia and Intercity trains run on the key parts of the network, stopping at main stations. These trains normally have to be booked in advance. They are very spatious and comfortable; we suggest maybe using them for longer trips within Puglia eg between Barletta and Brindisi, Bari and Lecce. They are about twice as expensive as Regional trains, although online advance booking can throw up useful discounts.

The key element of the FS network consists of a main east coast spine route running through from San Severo to Lecce via Foggia/Barletta/Bari/Brindisi (the main Rome rail connection joins this at Foggia). The main stations are served by Freccia and Intercity trains. However cheap Regional trains serve all the towns on this route including Trani, Bisceglie, Giovanezza, Polignano, Monopoli, Fasano, Ostuni.

If you are spending only a short time in Puglia, it is probably best to stay in one of these places and confine your visits to other places on this main spine along the east coast. Trains are fairly frequent, at least hourly for most of the day. Tickets are obtainable at the big stations from staffed offices; card-accepting machines on all stations; or from nearby bars/newsagents. Online booking is easy enough, you can download tickets to a phone or print them off.

Other parts of the national rail system in Puglia are:

  • Bari-Taranto, serving Goia del Colle and Masafra
  • Brindisi-Taranto, serving Mesagne, Francavilla Fontana, Manduria and Grottaglie
  • from Taranto south along the Ionian coast into Calabria at Metaponto; (trains run from Taranto through Metaponto along the coast to Reggio Calabria and inland to Potenza and Naples).

The following places are all accessible using the national rail system.

San Severo








Polignano a Mare


Fasano (NB there is a main line station called Cisternino, but this is a long way from the town itself – if you want to reach Cisternino from the main FS line, it is better to use Fasano station, from where there is a STP Brindisi bus service connecting to both Fasano town centre and Cisternino; alternatively Cisternino has a much more convenienet Ferroviue del Sud Est railway station)

Ostuni (there is a STP Brindisi bus service connecting Ostuni railway station to the city centre; this connects with many trains from early morning until late at night)





Francavilla Fontana




Gioia del Colle


NB There are mainline stations for San Vito dei Normanii and for Carovigno; these are inconvenient for the towns concerned, which are both better served by bus).


Ferrovie del Gargano (FdL)

The rugged Gargano peninsula had very restricted land transport links with the rest of Italy, and access to it was mainly by sea until recent times. Pressure to open it up via a railway developed during the early 20th century, to facilitate the movement of extracted minerals, agricultural products etc. The line connecting San Severo and Peschici was opened in 1931. Ownership passed through various hands until it was incorporated into its current structure, the Ferrovie del Gargano, in 1962. The company runs this line and a line linking Foggia with Lucera; as well as an extensive bus network in north Puglia and a series of national coach services connecting the Gargano with major Italian cities.

There has been considerable investment in both rolling stock and the track (including a new tunnel quite recently). The trains are modern and comfortable.

Its railways are:

Foggia – Lucera: a single line shuttle service taking about 20 minutes, allowing quick and easy access to Lucera, an interesting town with a Roman amphitheatre and the walls of a huge castle

Foggia – San Severo – Apricena – Rodi – Peschici: the Foggia/San Severo section uses the main railway line, but beyond San Severo this is the only line to penetrate the Gargano peninsula, along its northern coast; the terminus at Peschici is at Calenella, about four kilometres away from the small town itself, but there are bus connections from the station.


There is a general website giving information and links, including news and updates about changes, problems etc. This site also provides a link to a pdf downloadable timetable for the Peschici line which is very useful. There are three or four services daily all the way to Peschici, more in summer. (There are more frequent services between Foggia and Apricena). If you get a chance to use this railway, don’t miss the opportunity – it is a beautiful trip past the marine lakes and beaches on the north side of the Gargano peninsula. If you want to go on from Peschici to Vieste, then you can take the train get a bus onwards from Peschici.

The Foggia – Lucera line is a 20 minute trip with services hourly or more frequently from early morning until late at night.

Tickets are available from offices, bars or machines at all the stations. If you want to see a list of ticket outlets, click here and specify the place where you need to buy a ticket. There is no need to purchase online, there is a system but it is not very robust!




Ferrovie Nordbarese/Ferrotramvaria

This is a private company, Ferrotramviaria SpA, set up in 1937. It uses both the above names, running important rail and bus services north of Bari from a terminus in Piazza Aldo Moro, next to Bari Centrale, the main Bari station on the FS national network. There is a second connection with the FS network at Barletta, within the main station.

There are four lines:

red – this essentially serves the Ospedale San Paulo, an enormous health care facilty on the outskirts of Bari, one of the largest hospitals in Europe (so hopefully visitors will have no need to use this line)

grey – linking Bari with its Airport, Bitonto, Corato, Andria and Barletta; not only useful for the airport, the towns it serves are all interesting places to stay and visit, with Andria also being the station nearest to Castel del Monte

yellow – essentially the same as grey, but only running as far as Bitonto

blue – essentially the same as grey, but it follows a slightly different route out of Bari and does not serve the airport.

Apart from the important airport connection, visitors to Puglia will be mainly interested in the opportunity to reach the inoland towns between Bitonto and Andria (from which it is possible to reach Castel del Monte by bus).

There has been considerable investment in the track and the rolling stock recently. The trains are smooth, comfortable and stylish.

There is a general websit which gives lots of information, news,updates on any problemns etc. The home page contains a good timetable search facility for specific trips. There is a link to a page on routes and timetables, to reach this directly click here; from this page there are links to pdf versions of the full timetable, which may be useful, this cqan be downloaded or printed if required.

Tickets can be booked on line, but there are ample outlets in ticket offices at the staions, bars etc and machines. Fares are cheap except for the Airport – so a fare to Bitonto will be 1.50 euros, while to the Airport (a nearer station) it is over 5.00 euros. This is presumably to capture the revenue generated by airport traffic – we have never tried getting off at the Airport with a cheaper ticket trhough to Bitonto!


Ferrovie Appulo Lucane (FAL)

This narrow-gauge (0.950 m) railway network is a remnant of a project to link the Tyrrenhian, Adriatic and Ionian coasts of Puglia, Basilicata and Calabria. It was built in the first half of the 20th century by the Società Italiana per le Strade Ferrate del Mediterraneo. The Basilica and Puglia sections were inherited in 2001 by the current company, Ferrovie Appulo-Lucane SrL. (Appulo is an old name for Puglia, Lucane an old name for Basilicata) This private company operates three lines:

  • Bari – Altamura – Matera
  • Altamura – Avigliano Lucania
  • Avigliano City – Potenza

FAL’s Bari base is in Piazza Aldo Moro, next to the Ferrotramviaria Nord Barese (FNB) station, adjacent to Bari Centrale station on the main FS national network. From here train services link Bari with Altamura, Gravina, Potenza and Matera.  It provides in particular an important link to Matera, which is of course just over the regional border into Basilicata. Altamura and Gravina, both within Puglia, are also interesting towns well worth visiting.

FAL has a general website . The home page includes an effective timetable enquiry facility. We especially like the very full information displayed when the “details” button on the displayed timetable options come up – this specifies where you need to change, where there are substitue buses etc. (NB If you are travelling to Matera, it is usual to “change” at Altamura because the train from Bari divides into sections there, one for Matera, one for Gravina. Visitors to Matera should use Matera Centrale, there are a couple of other stops in Matera).

The website home page also contains an updated strip giving information about problems, delays etc. There are links on the website to full timetables, but these are tricky to understand, and may be out of date – we advise sticking to the enquiry system on the home page.

Tickets can be purchased at offices at main stations, from machines and from bars etc. There is a facility on the website – click here – which tells you where tickets can be bought at any stop on the network – you may need to use this if you are going to a small place where there might not be a ticketing option on the station itself.

There is a good and reliable service from early morning until late at night. The diesel trains are modern and efficient, with clean, comfortable coaches. The narrow guage gives them an interesting “feel”.  There are many stops at small places once clear of the Bari suburbs, but the stations are neat and well organised. Between Altamura and Matera the line runs through the bleak and unpopulated Murghe hills, a contrast to the trip up from the coastal plain.




Ferrovie del Sud Est (FSE)

This is the most extensive of the independent Puglia rail networks, and with 474 kilometres of track it is the largest network in Italy after the FS state railway network. The system involves a string of railway lines developed independently over a period of 75 years from about 1850 onwards. In 1931, these were brought together and incorporated into the singel company, Ferrovie del Sud Est. Following some years of financial difficulties, the company was taken over by the main state railway system, FS in 1916.  Although it is still operated and managed as an independent entity, its systems are increasingly being absorbed into the national network.

The routes extend south from Bari to Putignano, Coversano, the Itria valley, Martina Franca and Taranto; and from Lecce south into the Salento, covering Maglie, Gallipoli, Otranto, Gagliano del Capo (for Santa Maria di Leuca, the “tip” of Italy’s heel), Tricase and lots of other places. Martina Franca SSE station is the link wbtween the “northern” and “southern” parts of the network, and although there are some through trains, travelling between the Bari and Lecce based networks will normally involve a change at Martina Franca (trains are almost invariably timetabled to facilitate this).


Lines are standard guage. Most of the trains use diesel units but very recently the Bari-Putignano link has been electrified, a major investment project, using modern electric trains – see picture here.


Otherwise the carriages are of mixed quality and “heritage”. There are a number of modern, sleek and very comfortable units. But these are mixed in with older vehicles, although the very old rolling stock seems to have mainly disappeared to be replaced by carriages becoming surplus from the FS regional trains as these are replaced by modern carriages. This only presents a problem for people with special needs (eg disabled people, those with bicycles), who can be easily accommodated as routine on some trains but not on others. You can contact FSE via options on their website contacts page if you do need specific assistance or information. This includes specific information to assist people with diabilities or reduced mobility.  

The key termini and connections with the national system are inside the main stations at Bari and Lecce – on separate platforms at one side of the staion in both cases. There are also stations shared with the main FS state railway system in Taranto and at Francavilla Fontana; otherwise the whole network is completely separate from the national system.

Investment and improvements in recent years have had a big impact on punctuality, reliability and service levels. nevertheless, the FSE retains a lot of its traditional “quirkiness”. It is quite often necessary to change trains at the somewhat isolated junctions such as Novoli, Zollino, Nardo Centrale. Slow speed is normal, so you get plenty of opportunity to see the somewhat desolate, deprived countryside of southern Puglia. Because coastal areas of Puglia were in the past covered in marshes, almost all the network is inland. There are lots of stations, many very primitive; some of them serve towns/villages but are themselves in isolated locations (so the advice to check on how to reach your destination after getting off the train is more than usually important). Although there are indicators at the bigger stations, even there it is worth confirming the route and destination of a train as you get on it, and make especially certain you are on the right train as you arrive at a junction – if you go in the wrong direction this can be very awkward to rectify. There are usually staff on the train checking tickets etc, and they are invariably helpful. Overall, despite the modernisation which is proceeding all the time, travelling on the FSE has a delightful, old fashioned feel about it, adding an enjoyment which makes up for the occasional shortcomings like a missed connection or delayed train.


The FSE has its own website (Italian only so far as we can tell), although this now has the FS logo and describes the FSE as part of the state railways group. The home page contains a standard timetable enquiry/booking system, the same system as on the Trenitalia website for national railways. It also covers the important bus services operated by FSE; this is very useful, as there are sometimes bus service options which are better than a journey by train – but see our important warnings about this below, the integration of bus and train options into the FSE/Trenitalia website has caused some problems.  It is also possible to use the main Trenitalia website to look up and to book online  journeys using the FSE. There is also a page from which it is possible to download full current timetables of bus services and train services – click here to reach this page.

You can look up timetables and to book online for trips between a FS mainline station (eg Bari Centrale, Monopoli) and a FSE station (eg Tricase, Gallipoli). On the FSE website these enquiries seem to only be allowed for travel involving FS stations within Puglia, and also seem to feature Regional train options only on the mainline sections. If you want to travel from a mainline station to an FSE station (or vice versa), our advice is to consider this as two “legs”, with a search for the mainline leg to/from a FSE terminal (normally Bari or Lecce) using the Trenitalia website; and a separate search between this terminal and your FSE destination/departure station using the FSE site. This would also apply to ticket purchases, even though you can purchase through tickets involving both the FS and FSE networks (NB there is no price difference if you do this). 

FSE runs extensive bus services as well as trains. So if you are travelling in that large proportion of Puglia territory covbered by FSE the combination of FSE trains and buses will feature strongly. Currently these buses are not covered by the COTRAP system, so if you use the COTRAP website to make a search for bus routes, you must also make sure you do a parallel search on the FSE/Trenitalia system. 

Although the FSE trains and buses are all managed by the same company, and share a website etc, they operate quite separately. It is quite usual for FSE bus services and FSE trains to have separate termini in the same town; usually the bus terminus or bus stop is in the centre of the town, the railway station can be on the outskirts or even some distance away.

Now that the FSE is a semi-independent part of the national railway system, enquiries on the FSE website link into the main Trenitalia website to generate options and fares. The Trenitalia website gives information about all FSE services, buses as well as trains; and when you do a search on the FSE website, it comes up with the same information as a query via Trenitalia. So when specificying a departure or destination on the  website, you will be presented with options for stops/staions involving the FSE buses and trains as well as any FS stations. This is confusing – in the past when specifying travel involving for example Lecce, only one option was shown, which was Lecce main railway station; now there are whole string of options, most of them bus stops in various parts of Lecce!

This integration of trains and buses into the single FSE/Trenitalia website search facility has also made the search facility less effective. The search engine currently produces route options relating to precisely the stations/stops you enter, which can generate very bizarre results when there is a much more obvious answer if a nearby alternative station/stop is entered. Our advice is to do searches from what seem to be the main rail station (usually just giving the name of the town) and the main bus terminus (which may not be at the rail station, and even if it is may have a different name!).

So when you are presented with a choice of departure or destination stations/stops which relate to your enquiry, be very careful about what you specify; and make several searches to find the best option by rail, by bus and/or a combination. In particulat look at the time taken and the route/number of changes. 

FSE tickets can be booked on line via the same system as timetable enquiries. However there should be no need to do this as there are ample opportunities to buy tickets at dedicated sales points at the main stations; at bars and restaurants in or near stations; at ticket machines on most stations. The FSE website has a useful feature which

  • lists its stations which have ticket machines – so if your station is not listed you will need to get a ticket somewhere else or be ready to pay on the train
  • access to information about outlets which sell tickets, including places away from the stations themselves; to use this tool, on the website page click on LIS, which throws up a map of Italy with a search space superimposed and a menu on the left hand side; on the menu click on “Pagamenti”, then scroll down and tick “Bigletti Viaggio”; when you have done this, type the name of the place in which you are interested into the search line and click to search, the map will focus in on the details and the location of all the outlets in the place you have specified.

If you are boarding a train at a station without any facilities, then you can pay on the train. In days gone by there was little attempt to check tickets on the FSE trains, but this is no longer the case, so you must either have or be ready to pay for a ticket. At the main termini, you may be asked to show your ticket as you board. Always validate your ticket shortly before boarding at one of the validation machines on the station.

FSE has an update page on its website – click here to reach this – which gives updated details of changes, delays etc. If you are relying on a specific train, it may be sensible to check this before you travel. It also has a good contacts page where you can make enquiries in different ways, including webchat contaccts.