The road begins in Guildford at the start of Farnham Road near Guildford Station, coming out of the town and passing over the A3 where shortly after it becomes a dual carriageway running in a westerly direction along the Hog's Back escarpment of the North Downs. At Tongham it leaves the older Hogs Back route to join with the A331 and follow a modern bypass round Farnham, rejoining the older route at the roundabout junction with the A325 where it follows Alton Road toward Alton which it bypasses, rejoining the older route near Jane Austen's house, then continuing to Alresford before joining the route of the M3 motorway at its junction on the eastern boundary of Winchester.
The old route to Winchester's centre then Romsey and the New Forest forms two roads: the B3404 and A3090 roads and is marked for cyclists. The west branch of the M27 motorway - M3 interchange has a flyover junction with the winding westbound A3090 on the western boundary of Cadnam, having passed through the conservation area village centre, from where the resumed A31 continues as a dualled trunk road through the rest of the New Forest, past Ringwood and enters Dorset just before it passes Ferndown where it resumes single carriageway width. It passes Wimborne Minster and by-passes Charborough Park before terminating at a roundabout junction with the A35 road at Bere Regis. The A35 is not a trunk road east of Bere Regis, but is a continuation of the A31 trunk road to the west, thus the Highways Agency maintain it.
The A31 is part of the ancient route from London to Winchester.
The A31 between Wimborne Minster and Bere Regis, most of its Dorset stretch is primarily a single-carriageway road, used by heavy goods vehicles, and as such is relatively slow for a trunk road during busy times of the day. However the River Stour is one of the most flood-prone rivers alongside in the region and a widened road would accelerate drainage and disrupt views of the valley from Areas of Outstanding Beauty on the escarpments to the north.
Many sections of the A31 were upgraded to dual carriageway in the 1960s, except for the section of road running through the New Forest.
The upgrade of the A31 through the New Forest started in the early 1960s, following two decades of debate. The Government's intention was to create at least one high-speed route to the south coast, while the guardians of the forest, the Verderers, resisted any further development.
The first section of the A31 to be dualled was the section that the M27 feeds into at Jct1; the westbound carriageway is the original two-way A-road while the eastbound side was laid down nearby. Further developments occurred from Ringwood to Picket Post near the turn-off for Burley. From 1966-1972, the remaining sections were completed rapidly due to the construction of the M27 motorway up to Jct 1.
The Highways Agency declares the New Forest A31 section as being 'an abnormal and heavy load route'. The westbound route, particularly, suffers from poor horizontal and vertical alignment due to its original function as an old single carriageway. The Highways Agency's route management strategy (RMS) for the A31 has identified that the westbound carriageway needs realigning at Cadnam where it undulates rapidly before negotiating a sharp right turn and passes an at-grade U-turn box, though there is no timetable for this at present. There is also a pinch point at Ringwood where the A31 interplexes with the A338; the section of road was widened to four lanes each way for the duration of the A338 interplex (following the upgrade of the Ashley Heath Junction to Bournemouth in the early 1990s) but a short section where westbound A338 traffic joins westbound A31 was left with 2 lanes, and the lack of capacity at this section causes safety problems and queues at peak times. Dorset County Council cites relieving this junction as a high priority in the Bournemouth LTP 2006-2011. In December 2014 the Government announced a series of schemes as part of a £15bn investment in transport infrastructure that included widening the Westbound carriageway to 3 lanes. A Highways Agency review in 2010 records that the collision rate between the A338 Ringwood junction and the Poulner Hill Interchange was 4.5 Personal Injury Collisions (PICs) per 100million vehicle kilometers, whilst the rate for the stretch between Poulner Hill and Picket Post is 11.7 PICs per 100million vehicle kilometers.
This section of road is single carriageway for its entire length, a long section around Winterborne Zelston has a 40 mph speed limit, and occasionally has mobile speed cameras in place.
There are no good overtaking places on this stretch of road due to its narrow, twisty nature. There are three long straight sections of road along Charborough Park, at the end of each straight there is blind bend. Due to the lack of alternative overtaking places traffic use this stretch of road to overtake, but due to the blind bends this sometimes results in head-on collisions between vehicles. The 6 ft wall that runs alongside the road has many holes, and repaired sections which have been hit by cars over the years.
The A31 crosses the A350 at a large roundabout. Due to the volume of traffic crossing this roundabout on both the A350 and A31, clear lane markings have been added to ease congestion.
Sections along the A31 have been widened or straightened and junctions enhanced, particularly as the population of the main towns in Dorset has expanded.
A section of the A31 between Winchester and Ower in Hampshire is now known as the A3090.
Prior to completion of the M3 past Winchester in the 1995, the A3090 ran south west from the A33 at Kings Worthy (where the A33 diverted around the Winchester Bypass) to the centre of Winchester, before continuing along the historic route of the A31 from Winchester to Hursley. Here it ended at a junction with the A31, which at this time, having merged with the by-pass east of Winchester, re-emerged from the A33 at Otterbourne and ran to Hursley and on along the current route of the A3090.
A short dual carriageway section starts from the A36 roundabout near Ower and terminates just before the A27 multiplex south west of Romsey.