By the 1970s the route was hampered by severe traffic congestion, and an extensive upgrading programme was undertaken on the 138 miles (222 km) section between Bridge of Allan and Inverness.
The A9's origins lie in the military roads building programme carried out by General Wade in the 18th century to allow deployment of forces in key locations within the Highlands.
[6] For most of its length between Perth and Inverness, the route was identical to the A9 prior to the commencement of the major upgrading works in the 1970s.
[7] As part of the improvements to the road system that were carried out in the following years, a bridge was built at Dunkeld, designed by Telford.
The realigned road north out of Dunkeld would evolve eventually into the A9, and the bridge carried the bulk of the traffic into the Highlands until the new A9 by-pass was opened in 1977.
[8] The formal scheme of classification of roads in Great Britain (England, Scotland, and Wales) was first published on 1 April 1923.
The original route of the designated A9 began in Edinburgh at the Corstorphine junction in the west of the city, branching north off the A8.
[9][10] The original A9 terminated at Inverness, but in the years that followed it was extended to include the roadway all the way up to John O'Groats.
In October 2024, preparatory works began on the six mile section between Tomatin and Moy, with an expected cost of £308 million.
Between Perth and Inverness, the road has been dubbed Killer A9,[13] because of accidents and fatalities where dual-carriageway sections merge into a single-carriageway – the principal cause being motorists driving at excessive speeds to overtake lines of slower-moving vehicles before the dual carriageway ends.
At Broxden Junction on the outskirts of Perth, the A9 meets the M90 motorway which carries traffic from Fife and the Forth Road Bridge.
[24] This portion of the road is mostly single-carriageway, however there are intermittent short sections of dual carriageway from Perth to Birnam, Pitlochry to Killiecrankie, south of Drumochter Summit, Slochd Summit to Tomatin and south of Inverness as well as shorter three lane overtaking sections to reduce frustration and accidents.
From Bridge of Allan to Inverness the A9 runs through or near Lecropt, Dunblane, Blackford, Auchterarder, Gleneagles, Broxden Junction, Perth, Birnam, Dunkeld, Pitlochry, Blair Atholl, the Grampian Mountains, Dalwhinnie, Newtonmore, Kingussie, Aviemore, Carrbridge, Tomatin and Moy.
From Inverness the A9 runs across, through or near the Moray Firth, the Black Isle, Tore, Muir of Ord, Conon Bridge, the Cromarty Firth, Easter Ross, Dingwall, Evanton, Alness, Invergordon, Nigg Bay, Fearn, Tain, the Dornoch Firth, Sutherland, Dornoch, The Mound, Golspie, Dunrobin Castle, Brora, Helmsdale, Caithness, Berriedale (and the Berriedale Braes), Badbea, Dunbeath, Latheron, Mybster, Georgemas and Thurso.
[29] From the A96 in the Raigmore area of Inverness the A9 has junctions with other classified roads as follows: The A9 ends in Thurso, at Scrabster Harbour (ND101704).