The source of the Bristol Avon rise near the South Gloucestershire village of Acton Turnville.
The Sherston Branch of the River Avon starts to take shape just downstream of the village of Luckington and heads north northeast to the village of Sherston, from which this early part of the river takes its name.
From Sherston the river continues in a north north-easterly direction passing the small village of Pinkney and on to the village of Easton Grey. At Easton Grey the Bristol Avon heads east for about a mile and a half before reaching the village of Twatley, where initially it starts to head southeast, but then once again heads northeast and on to the town of Malmesbury.
The river approaches Malmesbury from the southwest and flows along the southern edge of the town before meeting up with the Tetbury Avon.
After absorbing the Tetbury Avon, the Bristol Avon winds its way southeast passing just west of the village of Little Somerford and on to Great Somerford. The river flows east along the northern edge of the village before heading south and then southwest, running virtually parallel to the M4 motorway, passing the villages of Lower Seagry, Upper Seagry and Seagry.
The Bristol Avon then heads south passing under the M4 motorway and flowing between the villages of Sutton Benger and Christian Malford, after which the river starts to head south southwest, passing the village of Tytherton Lucas. Just downstream of Tytherton Lucas the river meets a tributary, the River Marden, and continues on to the town of Chippenham.
After leaving Chippenham behind the river heads south, passing the villages of Lacock and Beanacre before entering the town of Melksham from the north.
The river meanders its way southwest after leaving Melksham, passing the small village of Whaddon which lies on its southern bank, and on past the villages of Holt and Staverton, after which the river takes a southerly course coming close to the northern edge of the town of Trowbridge and nearly meeting up with the Kennet and Avon Canal. The River Avon then heads northwest and on to the next major settlement on this beautiful river's banks, the Wiltshire town of Bradford on Avon.
After leaving Bradford on Avon from the west, the Bristol Avon heads due west running parallel to the Kennet and Avon Canal which lies on its southern bank, after just over a mile, near the village of Upper Westwood, the canal crosses the Avon via the Avoncliff Aqueduct and once again runs parallel to the river, except this time on the northern bank.
About three quarters of a mile downstream of the canal crossing, the River Avon starts to head northwest, as it does it meets another tributary, the River Frome. After absorbing the Frome the Avon continues in a northwesterly direction, passing the villages of Freshford and Limpley Stoke. At Limpley Stoke the Avon starts to head in a more northerly direction, past the village of Monkton Combe, here the Kennet and Avon Canal once again crosses the Bristol Avon, this time over the historic Dundas Aqueduct.
As the Bristol Avon continues to flow in a northerly direction, it passes the village of Claverton on its western bank, flows up the eastern flank of the village of Bathampton, then heads west across the top edge of Bathampton, with the villages of Bathford and Batheaston laying on the northern bank. The river then heads southwest passing the village of Swainswick, and the Bath districts of Larkhall and Walcot. The electoral ward of Bathwick lies on the river's eastern bank as the river heads into Bath city centre.
The river leaves Bath heading northwest, passing the suburbs of Lower Weston, Twerton-on-Avon and Twerton. As it continues on its northwesterly course, the river flows past the villages of Corston, Kelston and Saltford, and across the northern edge of the town of Keynsham where it meets yet another tributary, the River Chew.
Still on its northwesterly course, the river flows inbetween the Bristol suburbs of Brislington (on its western bank) and Hanham Green (on its eastern bank), then winds it way through the western and central areas of Bristol city, passing Saint Annes, Redfield, Saint Philips, Arnos Vale, Knowle, Totterdown, Temple Meads and Broadmead.
The now tidal Bristol Avon heads out of central Bristol between Southville and Hotwells, passing the village of Leigh Woods and the districts of Clifton, Sneyd Park, Sea Mills and Shirehampton. At Shirehampton the village of Easton-in-Gordano sits on the opposite bank, the river then continues northwest and discharges into the Severn Estuary