The Hampshire Avon's source is made up of 2 headwaters in Wiltshire, England.
The first headwater rises in the parish of Bishops Cannings, about 3 miles east of the town of Devizes in Wiltshire, England. It heads southeast, passing the villages of Patney, Wedhampton, Chirton and Marden, flowing through the village of Wilsford and the Wilsford Estate, then on past the village of Charlton St Peter and onto Rushall.
At Rushall, the east to west flow meets another headwater. This second headwater comes from the north, where it passes the villages of North Newnton and Manningford, after the confluence the river begins to flow south towards Upavon.
The Hampshire Avon flows through the picturesque village of Upavon and heads south, passing the villages of East Chisenbury, Compton and Enford. Around a mile and a half downstream of Enford, the river flows between the villages of Netheravon and Fittleton, then on past the villages of Figheldean, Durrington and Bulford.
As the River Avon leaves behind the villages of Durrington and Bulford it starts to head west, until reaching the eastern edge of the village of Strangways, where it starts to flow south once more, towards the town of Amesbury.
The Hampshire Avon runs along the northern and western flanks of the town of Amesbury, it flows southeast along the southern edge of the town, then turns back on itself, before heading off in a south southwesterly direction.
The river meanders its way south southwest past the villages of Wilsford, Great Durnford, Upper Woodford and Middle Woodford, where the river starts to head south southeast.
It continues on a south southeasterly course, passing Stratford Sub Castle on its east bank and the village of Quidhampton on its western bank, before entering the city of Salisbury from the north.
As the river flows through the Salisbury area it receives several tributaries, the first of these is the River Nadder, which joins the Hampshire Avon at two points from the west. At the second point of confluence with the Nadder, near East Harnham, the Hampshire Avon heads east flowing along the south edge of the city. The next tributary to join the flow is the River Bourne, which has its confluence just downstream of the city, inbetween the villages of Britford and Clarendon.
The river then heads south, passing the Hampshire villages of Alderbury and Bodenham. At Bodenham the Hampshire Avon meets another tributary, the River Ebble, and the river continues on a southerly course passing the villages of Charlton All Saints and Downton.
About a mile downstream of the village of Downton, the river leaves the county of Wiltshire and crosses into the county of Hampshire.
As it continues south, the river winds its way past the villages of Upperstreet, Hale, Breamore, Woodgreen and Burgate, then passes the village of Godshill before entering the town of Fordingbridge from the east. As it flows out of Fordingbridge the river continues south, passing the idyllic villages of Stuckton, Midgham, North Gorley, Harbridge, Ibsley, South Gorley, Ellingham and Somerley.
South of Somerley the river flows to the west of Bladford Lakes and enters the town of Ringwood, where the river's course takes it down the western flank of the town.
A little downstream of Ringwood, the Hampshire Avon becomes the border between Hampshire and Dorset, it winds south passing Saint Ives (Dorset) and the Hampshire village of Kingston. It continues its journey south, defining the Dorset / Hampshire border as it flows, until just downstream of the Hampshire village of Sopley, where it crosses into the county of Dorset.
The Hampshire Avon continues south, past the Dorset village of Burton and into the town of Christchurch, where the Avon meets the River Stour
and flows into the English Channel.