Cefalù is well served by train from both Palermo and Messina. The Palermo–Messina coastal line passes directly through the town; the station is a short walk from the historic centre. From Palermo, trains run roughly every hour and the journey takes around 45 minutes to an hour. From Messina, the journey is about two hours. This makes Cefalù an easy day trip from either city, though it also rewards a night or two as a base.
By car, Cefalù is on the A19/A20 motorway corridor along the north Sicilian coast, about an hour east of Palermo. Parking in the old town is limited and expensive in summer; the large car park just outside the historic walls is easier and cheaper.