It runs west from its junction with the A82 road at Invergarry (NH307011), along the north shores of Loch Garry and Loch Cluanie, then down through Glen Shiel and along Loch Duich to Kyle of Lochalsh before crossing the Skye Bridge to Kyleakin, Broadford, and Portree, before terminating at Uig in the north of the Isle of Skye.
It then headed north west to the Cluanie Inn, where it joined the A887.
[1][2] The A87 route used to involve a short ferry crossing over Loch Long at Dornie, but this has since been replaced with a bridge.
Nearby, the A87 used to run through the village of Morvich, around an inlet at the end Loch Duich.
Tolls were met with considerable opposition, until removed in December 2004.