The modern A303 was first referenced in a Ministry of Transport memo, stating the need for a distinct alternative London - Exeter route via Andover, Salisbury, Wincanton and Ilminster. The A30, which had originally run via Andover itself, was diverted via Stockbridge at the same time as the A303 was 'created'.
The renumbering happened on 1st April 1933, the immediate reason possibly being construction of the Basingstoke bypass, which opened a few months before in early December 1932 and did not connect to the old A30 west of Basingstoke. The old A30 became the B3400 to Andover, the A303 in Andover Town Centre, and the A343 south of Andover.
Starting on the A30 near Micheldever (a few miles west of its current starting-point), the A303 replaced existing roads as follows:
- Micheldever - Bullington Cross: originally unclassified and later the B3049
- Bullington Cross - Andover: B3049
- Andover Town Centre: A30
- Andover - Weyhill: A342
- Weyhill - Stonehenge: A344
- Stonehenge - Ilchester, via Wylye, Wincanton and Sparkford: originally B3090, then A3036
- Ilchester - Petherton Bridge (just east of South Petherton): A3036
- Petherton Bridge - Horton Cross (halfway between Ilminster and Broadway): A358
- Horton Cross - Marsh: originally B3169, then A3079
- 1 mile W of Marsh - junction with A30: originally B3170, then A3079
The section from M3 junction 8 at Popham to Micheldever is a later addition. It was originally unclassified, later the B3379 (which continued to Stockbridge and became the A341), then the A30 before becoming A303 in the 1980s.