Driving Ohrid to Kastoria: Medžitlija, Florina and Lake Orestiada

Kastoria sits about 155 km from Ohrid if you take the Medžitlija–Níki border post, running Ohrid–Resen–Bitola and then down through Florina: roughly two hours fifty-five minutes of driving and one frontier to clear. A shorter line of about 142 km cuts south through Albania instead, but that one puts two international border posts in the way.

Kastoria is one of the few places in Greece an Ohrid-based driver can reach before lunch and still be home the same evening, and almost nobody does it. The reason is not distance. The two towns sit on opposite sides of a frontier that public transport has quietly given up on: journey planners send you west into Albania by way of Elbasan and Tirana, and the resulting chain takes over seven hours to cover a drive of under three.

By car there are two honest options, and they are not the same journey. One runs north-east out of Ohrid on the A3, through Resen and Bitola, and slips into Greece at the small village post of Medžitlija–Níki. The other drops south along the lake, crosses into Albania and leaves it again at Kapshticë. The second is shorter on the map; the first is simpler at the barriers. What follows sets out both, and what waits at the far end.

The route

The Medžitlija line is the one to picture first. Leaving Ohrid you climb away from the lake on the A3, cross the Prespa watershed at Resen and drop into the Pelagonia plain at Bitola, roughly 69 km in. From Bitola the same road carries on about 15 km south through farmland to the frontier. None of that stretch is motorway: it is a two-lane national road with towns strung along it, so the kilometres and the minutes do not scale the way a motorway leg would.

Greece changes the character of the drive within a minute of the barrier. The Níki post hands you straight onto the A27, signed Kozáni–Ptolemaḯda–Níki, and after roughly 14 km of motorway you peel off onto the EO-2 for Florina. From Florina the older road bends south-west through the Verno foothills for about 55 km, and Kastoria arrives late — you are almost on the water before the promontory and its churches come into view. Reckon on about 155 km and something close to three hours without stops.

At the border

One frontier or two: that is the whole calculation. Greece is inside the Schengen area, and neither North Macedonia nor Albania is. Take the Medžitlija–Níki post and you make a single exit and a single Schengen entry. Take the southern line and you leave North Macedonia, enter Albania, drive across the Devoll district, then leave Albania again at Kapshticë–Krystallopigi and enter Greece there — four passport windows instead of two, to save about 13 km.

Kapshticë–Krystallopigi is a proper crossing rather than a back lane. It is listed as open around the clock, carries the E86 on the Albanian side, and on the Greek side meets the EO-2 and the short A29 motorway spur signed Siátista–Krystallopigí. So the southern line is perfectly usable; the question is only where you would rather spend the waiting. Neither post, incidentally, is Evzonoi — the big motorway crossing near Gevgelija that most people picture when they think of driving into Greece, and which lies in completely the wrong direction for Kastoria.

Documents and paperwork

Paperwork on this route changed recently and it is worth knowing before you set off. The European Union's Entry/Exit System began operating on 12 October 2025 and was scheduled to be running at every external Schengen crossing point by 10 April 2026. It replaces the ink stamp with a digital entry and exit record, so the Greek side of whichever post you use now takes a biometric registration from travellers who need one rather than reaching for a stamp.

In practice that means the Greek barrier is where the time goes, not the North Macedonian or the Albanian one, and it is a further argument for crossing once rather than twice. Build slack into the day instead of a precise arrival, keep passports somewhere other than the boot, and check that a hire car's cross-border paperwork covers every country on the routing you have chosen — the southern line needs Albania on it as well as Greece.

What you see along the way

Kastoria is built on a promontory pushing out into Lake Orestiada, with limestone mountains closing the valley behind it. The town stands at about 700 m and the lake surface at 630 m, so you arrive looking down on the water. The name is literal: it comes from kastori, the Greek word for beaver, after the animal that lived along these shores — and the same creature seeded the trade that made the place, because Kastoria has been a centre of the fur trade since the sixteenth century.

The churches are the reason to stay longer than a coffee. The town originally had 72 Byzantine and medieval churches and 54 of them survive, most of them small, plastered and wedged between houses rather than standing clear in squares. Its walls and its oldest churches date from the 9th century. Older still is Dispilio, on the lakeshore just south of town: a Neolithic settlement built out on what was an artificial island, revealed in 1932 when the lake level fell and excavated systematically from 1992.

Two older names sit underneath the modern one. Livy records the settlement of Celetrum surrendering to Publius Sulpicius Galba during Rome's war against Philip V of Macedon in 199 BC, and the emperor Diocletian later founded Diocletianopolis nearby; after that town was destroyed, Justinian moved the population onto the promontory Kastoria has occupied ever since.

Nearby

Florina is the obvious break on the northern line, about 13 km south of the border in a wooded valley with Verno to the south-west and Varnous to the north-west. It is the last easy place to fill up before the run down to the lake, and it has a railway history out of all proportion to its size: the first rail line in the southern Ottoman provinces was built here, and a single-track standard-gauge line still connects it to Thessaloniki in one direction and Bitola in the other.

Seventeen kilometres south-east of Florina, Nymfaio sits at 1,350 m in the Verno forests — a stone village of 63 residents in 2021, protected by the Hellenic Ministry of Culture to keep its architecture intact, and settled around 1385 by Vlach families who took to the mountains. West of Florina the road towards the Greek Prespa lakes reaches the isthmus dividing them, four kilometres long and five hundred metres wide, carrying the embankment road out to the village of Psarades.

At a glance

Road distance, northern line
About 155 km by way of Resen, Bitola, the Medžitlija–Níki crossing and Florina, at roughly 2 hours 55 minutes of free-flow driving before any border queue. (Road distances and free-flow durations measured on the OpenStreetMap driving profile at the OSRM demo server (router.project-osrm.org), checked 2026-09)
Road distance, Albanian line
About 142 km and roughly 2 hours 45 minutes, running south past the western shore of Lake Ohrid, through Albania and into Greece at Kapshticë–Krystallopigi. Shorter, but two frontiers instead of one. (Road distances and free-flow durations measured on the OpenStreetMap driving profile at the OSRM demo server (router.project-osrm.org), checked 2026-09)
The two crossings
Medžitlija–Níki links the North Macedonian A3 with the Greek A27 and is the only single-frontier option. Kapshticë–Krystallopigi, on the Albanian line, is listed as open 24 hours and carries the E86 on the Albanian side onto the Greek EO-2. (Wikipedia, Greece–North Macedonia border, and Wikipedia, Albania–Greece border, both checked 2026-09)
Entry checks
Greece is in the Schengen area; North Macedonia and Albania are not. The EU Entry/Exit System started on 12 October 2025 and was to be operating at all external crossing points by 10 April 2026, replacing the passport stamp with a digital entry and exit record. (Wikipedia, Entry/Exit System, checked 2026-09)
The town at the far end
Kastoria stands at about 700 m on a promontory in Lake Orestiada, which lies at 630 m, covers 28 km² with a 34 km shoreline and reaches about 9 m at its deepest against a mean of 4.5 m. (Wikipedia, Kastoria, and Wikipedia, Lake Orestiada, both checked 2026-09)
Nearest airport
Kastoria National Airport (IATA KSO, ICAO LGKA) lies about 14 km by road south of the town at 661 m with a 2,698 m runway; the scheduled links listed for it are domestic, to Athens and Kozáni. (Wikipedia, Kastoria National Airport, checked 2026-09, with the road distance measured on the OSRM demo server (router.project-osrm.org), checked 2026-09)
Public transport
No direct bus or train links the two towns. Journey-planner routings run west into Albania by way of Elbasan and Tirana and come out at over seven hours. (Rome2Rio, Ohrid to Kastoria, checked 2026-09)
Rail at Florina
Florina holds the first rail line built in the southern Ottoman provinces and is still linked by a single-track standard-gauge line to Thessaloniki and to Bitola. (Wikipedia, Florina, checked 2026-09)

Good to know

  • Taking the Medžitlija–Níki crossing instead of the Albanian road through Kapshticë adds roughly thirteen kilometres to this drive and removes one of its two international frontiers.
  • A car leaving Bitola on the two-lane North Macedonian A3 is on the Greek A27, signed Kozáni–Ptolemaḯda–Níki, within a few kilometres of clearing the Níki border post.
  • The Albanian variant of the drive leaves Albania at Kapshticë and picks up the Greek A29 motorway, signed Siátista–Krystallopigí, for only a short stretch before dropping onto local roads into Kastoria.
  • Of the 72 Byzantine and medieval churches Kastoria originally held, 54 survive on the promontory the town has occupied since Justinian moved it there.
  • The Neolithic lakeshore settlement at Dispilio came to light in 1932 when the level of Lake Orestiada dropped, and systematic excavation began sixty years later in 1992.

Frequently asked questions

How long does it take to drive from Ohrid to Kastoria?

About two hours fifty-five minutes for the 155 km by way of Medžitlija and Florina, measured at free-flow speeds and before any queue at the border. Allow more in high summer, and more again if you break the journey in Bitola or Florina.

Is there a bus from Ohrid to Kastoria?

No direct service exists. Published journey-planner routings send you west into Albania through Elbasan and Tirana and take over seven hours, which is why nearly everyone who makes this trip does it by road, with a driver or a hire car.

Which border crossing should I use between Ohrid and Kastoria?

Medžitlija–Níki, unless you have a reason to be in Albania. That is the only routing with a single frontier: the southern line through Kapshticë–Krystallopigi is roughly 13 km shorter but adds a second set of exit and entry formalities.

Do I need a passport to drive from Ohrid to Kastoria?

Yes. Greece sits inside the Schengen area and North Macedonia does not, so the crossing is an external Schengen border. Since the Entry/Exit System started in October 2025, that side of the barrier records entries and exits digitally rather than stamping.

Is Kastoria worth a full day rather than a stop?

Comfortably. Fifty-four of the town's original seventy-two Byzantine and medieval churches still stand, the Neolithic site at Dispilio lies a short way along the lakeshore, and the promontory itself takes an unhurried hour to walk around.

Can I fly to Kastoria instead of driving from Ohrid?

Kastoria National Airport lies about 14 km by road south of the town, but the scheduled links listed for it are domestic, to Athens and Kozáni. For anyone arriving from outside Greece the road up from Ohrid is usually the more practical way in.

Related pages

Request a transfer quote

Last reviewed: 2026-09-01