The M90 connects Edinburgh, via the Queensferry Crossing, to Perth and the north and north-east of Scotland. When the motorway first opened in 1964, it formed the northern approach to the Forth Road Bridge, which was part of the A90 and not a motorway. It remained an entirely isolated outpost of the motorway network until 2017 when the new Queensferry Crossing carried it over the Forth. A short section between junctions 1 and 1A remains temporarily part of the A90, but this will become part of the motorway too, creating a continuous route from the M9 to Perth.

South of the Forth, the route followed by the M90 is decidedly circuitous, a product of the history of the major roads west of Edinburgh. Its southernmost section, from the M9 to junction 1, was originally built as a short spur from the M9 to the original Forth Road Bridge, completed in 2007. To reduce the costs and the environmental impact of the new bridge, it was decided not to build a direct approach from the M9 but instead to plug the new bridge into the old approach roads. This means that the M90 performs a number of contortions between the M9 and the Queensferry Crossing that make a map of the route look like some tortuous mountain pass, which are entirely unnecessary in terms of the surrounding geography and are only there because of the piecemeal development of the road.

Further north, as the motorway reaches some genuinely challenging terrain north of Kinross, it begins to twist and turn again. It has some ridiculously sharp corners (including what is reputedly the tightest curve on the motorway network), and large parts of it lack hard shoulders, instead just having frequent lay-bys. At one time, rural Scottish motorways with predicted traffic levels below a certain level were built this way, but most have now had hard shoulders retrofitted and this is the only remaining length of rural motorway in the UK with just two lanes and no hard shoulder.

Ronnie Land, who worked on the scheme in the 1960s, notes that the three-way motorway interchange south of Perth was a major feat, requiring the removal of some 900,000 cubic metres (31,783,000 cubic feet) of material. The minimum curve radius used on the route is 694m (2,278ft), far below the minimum of 914m (3,000ft) that was standard practice at the time. Likewise the maximum gradient then permitted by design standards was 1 in 30 (1 in 20 for hilly areas), but some of the M90's slip roads are a little steeper than 1 in 17.

In the early 1990s, mass renumbering of roads up the east side of Scotland was carried out to give the route from Edinburgh to Aberdeen one continuous number, A90. This did some strange things to the area south of Perth. At the northern end of its route, approaching Perth, the motorway splits into two branches. Before the change, the M90 went up the west branch to meet the A9. The A85 ran east from Perth to Dundee, and so the branch to the east of Perth, over the Friarton Bridge, was M85.

The renumbering replaced the A85 with the A90, causing the M90 designation to switch from the west to the east of Perth in order to connect the motorway to the extended A-road. The M85 ceased to exist, and the western branch now has no number of its own. It's signposted "(A9)" northbound and "(M90)" southbound. The western branch is longer than the east, and travels further north, which means that the northernmost motorway in the UK has no number.

Start
Edinburgh
End
Perth
Passes
Forth Road Bridge
Connects to
Length
38 miles
Open Junctions Section
Aug 1964 J1B-2 Forth Road Bridge Approach
Dec 1969 J2-3 Crossgates → Kelty
Jul 1970 J3-5 Cowdenbeath Bypass
May 1972 J5-8 Kinross and Milnathort Bypass
Mar 1977 J8-8* Arlary → Arngask
Dec 1977 J9-10 Muirmont → Craigend
May 1978 J10-11 Craigend → A90 Opened as M85
May 1978 J10-A9 Craigend → A9
Oct 1980 J8*-9 Arngask → Muirmont
Sep 2007 J0-1 Kirkliston → South Queensferry Opened as a spur of M9
Aug 2017 J1-1B Queensferry Crossing

Exit list

Junction   Northbound               Southbound  
11 Dundee
Aberdeen
A90
Perth
A85






A85
NORTH
A90
N/A
LanesLanesLanesLanes Signs LanesLanesLanesLanes Signs
1 mile, 2 lanes  
River or canal Tay River or canal Tay
  1 mile, 2 lanes
10 Perth (N)
Pitlochry
(A9)
Crieff (A85)
Perth
A912
A912

(A9)

A912
Perth
Stirling
Pitlochry
(A9)
LanesLanesLanesLanes LanesLanesLanesLanes
3 miles, 2 lanes 3 miles, 2 lanes
9 Bridge of Earn
Aberargie
A912
A912 A912 Bridge of Earn
Aberargie
A912
LanesLanesLanesLanes LanesLanesLanesLanes
9 miles, 2 lanes  
8 Cupar
St Andrews
A91
(A91)
LanesLanesLanesLanes
3 miles, 2 lanes 11 miles, 2 lanes
7 A91 A911 Stirling
A91
Milnathort
A911
LanesLanesLanesLanes
  1 mile, 2 lanes
6 Kinross
Milnathort
A977
Services Kinross
A977 A977 Kinross
Crook of Devon
A977
Services Kinross
LanesLanesLanesLanes LanesLanesLanesLanes
3 miles, 2 lanes 3 miles, 2 lanes
5 Cleish
Crook of Devon
B9097
B9097 B9097 Cleish
Ballingry
B9097
LanesLanesLanesLanes LanesLanesLanesLanes
3 miles, 2 lanes 3 miles, 2 lanes
4 Kelty
Ballingry
A909
B914 A909 Kelty
Lochgelly
A909
LanesLanesLanesLanes LanesLanesLanesLanes
4 miles, 2 lanes 4 miles, 2 lanes
3 Dunfermline
A92
A92 A92 Dunfermline
Kirkcaldy
Glenrothes
A92
LanesLanesLanesLanes LanesLanesLanesLanes
0.5 miles, 2 lanes  
2A Kirkcaldy
Glenrothes
A92
(A92)
LanesLanesLanesLanes Signs Signs
2.5 miles, 2 lanes 3 miles, 2 lanes
2 Dunfermline
Rosyth
A823(M) Link
A823(M) Dunfermline
Rosyth
A823(M) Link
LanesLanesLanesLanesLanes Signs LanesLanesLanesLanes Signs
0.5 miles, 3 lanes 0.5 miles, 2 lanes
1C Kincardine
A985
Dalgety Bay
Inverkeithing
A921
A985 A921 Inverkeithing
A921
Kincardine
Glasgow
A985
LanesLanesLanesLanesLanes Signs LanesLanesLanesLanesLanes Signs
1 mile, 3 lanes 1 mile, 3 lanes
1B Port of Rosyth
North Queensferry
B981
B981
(B980)

B981

A9000
Port of Rosyth
North Queensferry
B981
LanesLanesLanesLanesLanes Signs LanesLanesLanesLanesLanes Signs
2.7 miles, 2 lanes  
River or canal Forth River or canal Forth
  2.7 miles, 2 lanes
1A Boness (M9 Link)
Kirkliston
Queensferry A904
A90 becomes M90
A904
(M9)



A904



Boness
Kirkliston
Queensferry A904
M90 becomes A90
LanesLanesLanesLanesLanes SignsSigns LanesLanesLanesLanesLanes SignsSigns
1.6 miles, 3 lanes 1.6 miles, 3 lanes
1 M90 becomes A90 B800 A904

A9000

B907

A90
Edinburgh
A90
A90 becomes M90
LanesLanesLanesLanesLanes SignsSigns LanesLanesLanesLanesLanes SignsSigns
2 miles, 2 lanes 2 miles, 2 lanes
M9 J1A N/A M9









SOUTH
M9
(M8)
(A8)
(A89)





Airport Airport (A8)
Broxburn (A89)
Glasgow
Edinburgh
(M8) Link
Kincardine
Stirling
M9 Link
LanesLanesLanesLanes LanesLanesLanesLanes
Routes

Picture credits

With thanks to Michael Clarkson, Jon Davey and Liam Philliban for information on this page.