# 2003–04 FA Cup qualifying rounds

The 2003–04 FA Cup qualifying rounds opened the 123rd season of competition in England for 'The Football Association Challenge Cup' (FA Cup), the world's oldest association football single knockout competition. A total of 644 clubs were accepted for the competition, up 20 from the previous season’s 624.
The large number of clubs entering the tournament from lower down (Levels 5 through 10) in the English football pyramid meant that the competition started with six rounds of preliminary (2) and qualifying (4) knockouts for these non-League teams. South Western Football League was the only level 10 league represented in the Cup, four clubs from the South Western Football League were the lowest-ranked clubs in competition. The 32 winning teams from Fourth qualifying round progressed to the First round proper, where League teams tiered at Levels 3 and 4 entered the competition.

## Calendar

| Round | Start date | Leagues entering at this round | New entries this round | Winners from previous round | Number of fixtures | Prize money |
| Extra preliminary round | 23 August 2003 | Levels 8-10 | 130 | none | 65 | £500 |
| Preliminary round | 30 August 2003 | Level 7 | 331 | 65 | 198 | £1,000 |
| First qualifying round | 20 September 2003 | none | none | 198 | 99 | £2,250 |
| Second qualifying round | 27 September 2003 | Isthmian League Northern Premier League Southern Football League (Premier divisions) | 69 | 99 | 84 | £3,750 |
| Third qualifying round | 11 October 2003 | none | none | 84 | 42 | £5,000 |
| Fourth qualifying round | 25 October 2003 | Football Conference | 22 | 42 | 32 | £10,000 |

## Extra preliminary round

Matches played on Saturday/Sunday 23 to 24 August 2003. 130 clubs from Level 8, Level 9 and Level 10 of English football, entered at this stage of the competition, while other 217 clubs from levels 8-10 get a bye to the preliminary round.
| Tie | Home team (tier) | Score | Away team (tier) | Att. |
| 1 | Skelmersdale United (8) | 7–2 | Glasshoughton Welfare (8) | 71 |
| 2 | Brodsworth Miners Welfare (8) | 0–1 | Pickering Town (8) | 90 |
| 3 | St Helens Town (8) | 0–2 | Trafford (8) | 182 |
| 4 | Garforth Town (9) | 0–3 | Whickham (9) | 87 |
| 5 | Holker Old Boys (9) | 1–0 | Penrith (8) | |
| 6 | Colne (9) | 2–3 | Mossley (8) | 100 |
| 7 | Norton & Stockton Ancients (9) | 0–2 | Evenwood Town (9) | 117 |
| 8 | Ossett Albion (8) | 5–2 | Alnwick Town (9) | 94 |
| 9 | Washington Nissan (9) | 1–2 | Jarrow Roofing BCA (8) | 54 |
| 10 | Shotton Comrades (9) | 1–4 | Newcastle Blue Star (9) | 35 |
| 11 | Dunston Federation Brewery (8) | 1–0 | Abbey Hey (8) | 121 |
| 12 | Eccleshill United (8) | 1–2 | Warrington Town (8) | 49 |
| 13 | Oldham Town (9) | 3–2 | Northallerton Town (9) | 73 |
| 14 | Fleetwood Town (8) | 1–0 | Darwen (9) | 103 |
| 15 | Blackstones (8) | 1–4 | Gedling Town (9) | 78 |
| 16 | Holbeach United (8) | 1–1 | Staveley Miners Welfare (9) | |
| replay | Staveley Miners Welfare (9) | 3–2 | Holbeach United (8) |
| 17 | Carlton Town (9) | 0–3 | Shirebrook Town (9) | 87 |
| 18 | Lincoln Moorlands (9) | 1–0 | Arnold Town (8) | 65 |
| 19 | Nantwich Town (8) | 1–2 | Stratford Town (8) | 80 |
| 20 | Cradley Town (8) | 2–0 | Daventry Town (8) | 65 |
| 21 | Maldon Town (8) | 4–1 | Holmer Green (8) | |
| 22 | Stotfold (8) | 1–2 | London Colney (8) | 67 |
| 23 | Wroxham (8) | 4–1 | Halstead Town (8) | 126 |
| 24 | Brentwood (9) | 0–2 | Haringey Borough (8) | 73 |
| 25 | Kingsbury Town (8) | 1–2 | Stowmarket Town (8) | 48 |
| 26 | Harpenden Town (8) | 6–1 | Woodbridge Town (8) | 65 |
| 27 | Needham Market (9) | 0–3 | Norwich United (8) | 79 |
| 28 | Romford (9) | 0–2 | Bury Town (8) | 166 |
| 29 | Tiptree United (8) | 0–1 | Cogenhoe United (8) | 92 |
| 30 | Northampton Spencer (8) | 2–2 | Desborough Town (8) | 76 |
| replay | Desborough Town (8) | 4–2 | Northampton Spencer (8) |
| 31 | Broxbourne Borough V&E (8) | 0–2 | Yaxley (8) | 26 |
| 32 | Mildenhall Town (8) | 2–1 | Ilford (9) | 103 |
| 33 | St Margaretsbury (8) | 0–0 | Henley Town (8) | 46 |
| replay | Henley Town (8) | 0–3 | St Margaretsbury (8) |
| Tie | Home team (tier) | Score | Away team (tier) | Att. |
| 34 | Bedford United & Valerio (8) | 1–0 | Harefield United (8) | 32 |
| 35 | Southend Manor (9) | 1–1 | Buckingham Town (8) | 30 |
| replay | Buckingham Town (8) | 4–1 | Southend Manor (9) |
| 36 | Ruislip Manor (8) | 2–2 | Ely City (9) | 32 |
| replay | Ely City (9) | 0–2 | Ruislip Manor (8) |
| 37 | Hadleigh United (9) | 0–1 | Wootton Blue Cross (8) | 72 |
| 38 | Brackley Town (8) | 2–1 | Hullbridge Sports (9) | 75 |
| 39 | Royston Town (8) | 0–3 | Ford Sports Daventry (8) | 85 |
| 40 | Great Yarmouth Town (8) | 4–1 | Southall Town (8) | 271 |
| 41 | St Leonards (8) | 1–4 | Arundel (8) | 127 |
| 42 | Thatcham Town (8) | 6–0 | Selsey (8) | 88 |
| 43 | East Preston (8) | 2–3 | Andover (8) | 124 |
| 44 | Walton Casuals (8) | 5–0 | Westfield (8) | 78 |
| 45 | Brockenhurst (8) | 2–3 | VCD Athletic (8) | 59 |
| 46 | Wokingham Town (8) | 2–0 | Chertsey Town (8) | 136 |
| 47 | Chichester City United (8) | 4–1 | Tunbridge Wells (8) | 115 |
| 48 | Sandhurst Town (8) | 2–1 | Camberley Town (8) | 106 |
| 49 | Didcot Town (8) | 2–1 | Ramsgate (8) | 131 |
| 50 | Saltdean United (9) | 0–4 | Cray Wanderers (8) | 104 |
| 51 | Bedfont (8) | 4–0 | Littlehampton Town (9) | 54 |
| 52 | Horsham YMCA (8) | 3–3 | Gosport Borough (8) | 105 |
| replay | Gosport Borough (8) | 1–0 | Horsham YMCA (8) |
| 53 | Eastbourne United Association (9) | 1–0 | Lordswood (8) | 102 |
| 54 | BAT Sports (8) | 3–1 | Cobham (8) | 109 |
| 55 | Carterton Town (8) | 1–0 | Hungerford Town (8) | 64 |
| 56 | Lancing (9) | 0–3 | Whitehawk (8) | 94 |
| 57 | AFC Totton (8) | 3–0 | Erith Town (8) | 68 |
| 58 | Reading Town (8) | 1–2 | Lymington & New Milton (8) | 56 |
| 59 | Barnstaple Town (8) | 2–3 | Exmouth Town (8) | 126 |
| 60 | Highworth Town (8) | 3–1 | Shortwood United (8) | 85 |
| 61 | Frome Town (8) | 1–0 | Tuffley Rovers (8) | 96 |
| 62 | Shepton Mallet (9) | 0–1 | Falmouth Town (10) | 126 |
| 63 | Minehead Town (9) | 2–1 | Liskeard Athletic (10) | 94 |
| 64 | Devizes Town (8) | 0–4 | Christchurch (8) | 101 |
| 65 | Chard Town (9) | 0–3 | Paulton Rovers (8) | 58 |

## Preliminary round

Matches played on weekend of Saturday 30 August 2003. A total of 396 clubs took part in this stage of the competition, including the 65 winners from the extra preliminary round, 217 clubs from Levels 8-10, who get a bye in the extra preliminary round and 114 entering at this stage from the five divisions at Level 7 of English football. The round featured three clubs from Level 10 (all from the South Western Football League) still in the competition, being the lowest ranked clubs in this round.
| Tie | Home team (tier) | Score | Away team (tier) | Att. |
| 1 | Brigg Town (8) | 2–2 | Billingham Town (8) | 187 |
| replay | Billingham Town (8) | 1–0 | Brigg Town (8) | 157 |
| 2 | Maine Road (9) | 2–4 | Ashington (9) | 45 |
| 3 | Bishop Auckland (7) | 8–0 | Flixton (9) | 145 |
| 4 | Harrogate Railway Athletic (8) | w/o | Hatfield Main | |
| Walkover for Harrogate Railway Athletic – Hatfield Main removed ||||
| 5 | Armthorpe Welfare (8) | w/o | Louth United | |
| Walkover for Armthorpe Welfare – Louth United removed ||||
| 6 | Chadderton (9) | 1–2 | Holker Old Boys (9) | 86 |
| 7 | Peterlee Newtown (8) | 1–2 | Bridlington Town (7) | 111 |
| 8 | Mossley (8) | 1–1 | Curzon Ashton (8) | 236 |
| replay | Curzon Ashton (8) | 2–3 | Mossley (8) | 253 |
| 9 | Bamber Bridge (7) | 3–1 | Prescot Cables (7) | 187 |
| 10 | Stocksbridge Park Steels (7) | 2–1 | Squires Gate (8) | 120 |
| 11 | Goole (8) | 2–4 | Rossendale United (7) | 227 |
| 12 | Witton Albion (7) | 4–1 | Nelson (9) | 240 |
| 13 | Thackley (8) | 0–1 | Ossett Town (7) | 111 |
| 14 | Skelmersdale United (8) | 3–0 | Atherton Laburnum Rovers (8) | 104 |
| 15 | Pontefract Collieries (9) | 0–2 | Clitheroe (8) | 102 |
| 16 | Blackpool Mechanics (9) | 1–1 | Colwyn Bay (7) | 80 |
| replay | Colwyn Bay (7) | 3–1 | Blackpool Mechanics (9) | |
| 17 | Crook Town (9) | 2–3 | Guiseley (7) | |
| 18 | Tow Law Town (8) | 1–1 | Salford City (8) | 126 |
| replay | Salford City (8) | 4–3 | Tow Law Town (8) | 111 |
| 19 | South Shields (9) | 0–0 | Bedlington Terriers (8) | 189 |
| replay | Bedlington Terriers (8) | 4–1 | South Shields (9) | 138 |
| 20 | Willington (9) | 0–5 | Consett (9) | 72 |
| 21 | Fleetwood Town (8) | 3–0 | Parkgate (9) | 144 |
| 22 | Newcastle Blue Star (9) | 1–2 | Dunston Federation Brewery (8) | 139 |
| 23 | Billingham Synthonia (8) | 1–1 | Chorley (7) | 112 |
| replay | Chorley (7) | 3–1 | Billingham Synthonia (8) | 279 |
| 24 | Hyde United (7) | 6–1 | Hallam (8) | 228 |
| 25 | Liversedge (8) | 3–1 | Gateshead (7) | 92 |
| 26 | Guisborough Town (8) | 1–1 | Kendal Town (7) | 86 |
| replay | Kendal Town (7) | 2–2 (7–8 p) | Guisborough Town (8) | 159 |
| 27 | Tadcaster Albion (9) | 0–4 | Winsford United (9) | 50 |
| 28 | Great Harwood Town (9) | 0–3 | North Ferriby United (7) | 111 |
| 29 | Cheadle Town (9) | 1–2 | Chester-le-Street Town (8) | 61 |
| 30 | Woodley Sports (8) | 1–1 | Ramsbottom United (8) | 113 |
| replay | Ramsbottom United (8) | 3–0 | Woodley Sports (8) | |
| 31 | Durham City (8) | 0–0 | Rossington Main (9) | 127 |
| replay | Rossington Main (9) | 0–1 | Durham City (8) | 111 |
| 32 | Horden Colliery Welfare (8) | 0–1 | Brandon United (8) | 106 |
| 33 | Esh Winning (8) | 1–3 | Bacup Borough (8) | 104 |
| 34 | Whickham (9) | 2–2 | Hebburn Town (9) | 180 |
| replay | Hebburn Town (9) | 1–2 | Whickham (9) | 159 |
| 35 | Thornaby (8) | 5–1 | Easington Colliery (9) | 47 |
| 36 | Shildon (8) | 2–1 | Workington (7) | 240 |
| 37 | Selby Town (8) | 0–0 | Washington (8) | 102 |
| replay | Washington (8) | 3–3 (4–5 p) | Selby Town (8) | 106 |
| 38 | Maltby Main (9) | 1–0 | West Auckland Town (8) | 55 |
| 39 | Sheffield (8) | 1–0 | Jarrow Roofing BCA (8) | 130 |
| 40 | Pickering Town (8) | 2–0 | Whitley Bay (8) | 205 |
| 41 | Evenwood Town (9) | 3–5 | Oldham Town (9) | 124 |
| 42 | Hall Road Rangers (9) | 1–1 | Trafford (8) | 107 |
| replay | Trafford (8) | 3–1 | Hall Road Rangers (9) | 130 |
| 43 | Marske United (8) | 3–0 | Winterton Rangers (9) | 104 |
| 44 | Warrington Town (8) | 1–0 | Yorkshire Amateur (9) | 92 |
| 45 | Prudhoe Town (9) | 2–0 | Morpeth Town (8) | 34 |
| 46 | Ossett Albion (8) | 2–1 | Alsager Town (8) | 106 |
| 47 | Seaham Red Star (9) | 3–4 | Murton (9) | 114 |
| 48 | Atherton Collieries (8) | 0–3 | Farsley Celtic (7) | 71 |
| 49 | Gresley Rovers (7) | 1–1 | Buxton (8) | 310 |
| replay | Buxton (8) | 4–0 | Gresley Rovers (7) | 360 |
| 50 | Stamford (7) | 2–0 | Bourne Town (8) | 244 |
| 51 | Shepshed Dynamo (7) | 0–1 | Congleton Town (8) | 148 |
| 52 | Shirebrook Town (9) | 2–1 | Matlock Town (7) | 297 |
| 53 | Grosvenor Park (8) | 0–0 | Glapwell (8) | 37 |
| replay | Glapwell (8) | 2–0 | Grosvenor Park (8) | 60 |
| 54 | Quorn (8) | 0–1 | Gedling Town (9) | 137 |
| 55 | Studley (8) | 3–0 | Rushall Olympic (8) | 104 |
| 56 | Oadby Town (8) | 5–1 | Stratford Town (8) | 205 |
| 57 | Corby Town (7) | 2–1 | Lincoln United (7) | 110 |
| 58 | Bedworth United (7) | 0–2 | Halesowen Town (7) | 262 |
| 59 | Belper Town (7) | 1–1 | Boston Town (8) | 208 |
| replay | Boston Town (8) | 0–1 | Belper Town (7) | 108 |
| 60 | Mickleover Sports (8) | 3–0 | Ludlow Town (8) | 80 |
| 61 | Chasetown (8) | 1–2 | Sutton Coldfield Town (7) | 217 |
| 62 | Kidsgrove Athletic (7) | 1–3 | Rugby United (7) | 174 |
| 63 | Borrowash Victoria (8) | 3–4 | Biddulph Victoria (8) | 52 |
| 64 | Racing Club Warwick (8) | 0–1 | Stafford Town (8) | 85 |
| 65 | Rocester (8) | 1–1 | Ilkeston Town (7) | 165 |
| replay | Ilkeston Town (7) | 3–1 | Rocester (8) | 238 |
| 66 | Staveley Miners Welfare (9) | 0–1 | Sutton Town (9) | 96 |
| 67 | Atherstone United (7) | w/o | Pelsall Villa (8) | |
| Walkover for Pelsall Villa – Atherstone United removed ||||
| 68 | Eastwood Town (8) | 2–2 | Deeping Rangers (8) | 111 |
| replay | Deeping Rangers (8) | 1–2 | Eastwood Town (8) | 252 |
| 69 | Lincoln Moorlands (9) | 1–2 | Leek Town (7) | |
| 70 | Spalding United (8) | 3–0 | Glossop North End (8) | 196 |
| 71 | Stourport Swifts (7) | 1–0 | Boldmere St Michaels (8) | 101 |
| 72 | Cradley Town (8) | 0–4 | Bromsgrove Rovers (7) | 164 |
| 73 | Solihull Borough (7) | 3–0 | Stone Dominoes (8) | 163 |
| 74 | Leek CSOB (9) | 2–3 | Redditch United (7) | 105 |
| 75 | Barwell (8) | 3–1 | Oldbury United (8) | 70 |
| 76 | Newcastle Town (8) | 3–0 | Willenhall Town (8) | 95 |
| 77 | Stourbridge (8) | 0–2 | Causeway United (8) | 190 |
| 78 | Long Eaton United (9) | 0–0 | Norton United (9) | 71 |
| replay | Norton United (9) | 0–2 | Long Eaton United (9) | 78 |
| 79 | Gorleston (8) | w/o | Haverhill Rovers (9) | |
| Walkover for Haverhill Rovers – Gorleston removed ||||
| 80 | Burnham (7) | 1–7 | Arlesey Town (7) | 85 |
| 81 | Burnham Ramblers (9) | 4–1 | Potters Bar Town (8) | |
| 82 | Dunstable Town (7) | w/o | Saffron Walden Town | |
| Walkover for Dunstable Town – Saffron Walden Town removed ||||
| 83 | Leighton Town (8) | 3–1 | Wootton Blue Cross (8) | 122 |
| 84 | Tring Town | w/o | Mildenhall Town (8) | |
| Walkover for Mildenhall Town – Tring Town removed ||||
| 85 | Sawbridgeworth Town (9) | 2–2 | AFC Wallingford (8) | 41 |
| replay | AFC Wallingford (8) | 2–0 | Sawbridgeworth Town (9) | 125 |
| 86 | Newmarket Town (8) | 5–0 | Wembley (8) | 142 |
| 87 | Chalfont St Peter (8) | 0–6 | Chesham United (7) | 145 |
| 88 | Boreham Wood (7) | 2–1 | Desborough Town (8) | 66 |
| 89 | Ware (8) | 2–2 | London Colney (8) | 102 |
| replay | London Colney (8) | 0–1 | Ware (8) | 90 |
| 90 | Enfield Town (9) | 2–1 | Clacton Town (8) | 356 |
| 91 | Norwich United (8) | 2–2 | Leyton (7) | 98 |
| replay | Leyton (7) | 2–1 | Norwich United (8) | 190 |
| 92 | AFC Sudbury (8) | 5–1 | Diss Town (8) | 347 |
| 93 | Histon (7) | 7–0 | Yeading (7) | 131 |
| Tie | Home team (tier) | Score | Away team (tier) | Att. |
| 94 | Hampton & Richmond Borough (7) | 3–0 | Great Wakering Rovers (7) | 157 |
| 95 | Harpenden Town (8) | 1–3 | St Margaretsbury (8) | 68 |
| 96 | Haringey Borough (8) | 1–3 | Dereham Town (8) | 65 |
| 97 | Barton Rovers (7) | 2–2 | Rothwell Town (7) | 134 |
| replay | Rothwell Town (7) | 3–0 | Barton Rovers (7) | 147 |
| 98 | Stewart & Lloyds Corby (8) | 3–0 | Fakenham Town (8) | 48 |
| 99 | Milton Keynes City | w/o | Tilbury (7) | |
| Walkover for Tilbury – Milton Keynes City removed ||||
| 100 | Bedford United & Valerio (8) | 0–2 | St Neots Town (8) | 70 |
| 101 | Beaconsfield SYCOB (8) | 1–1 | Ipswich Wanderers (9) | 78 |
| replay | Ipswich Wanderers (9) | 2–1 | Beaconsfield SYCOB (8) | 172 |
| 102 | Wisbech Town (8) | 1–2 | Aveley (7) | 289 |
| 103 | Stowmarket Town (8) | 0–2 | Waltham Forest (7) | 86 |
| 104 | Stanway Rovers (9) | 0–1 | Staines Town (7) | 140 |
| 105 | Wivenhoe Town (7) | 7–0 | Bowers United (9) | 104 |
| 106 | Cheshunt (7) | 2–3 | Harlow Town (7) | 155 |
| 107 | Cogenhoe United (8) | 1–2 | Maldon Town (8) | 94 |
| 108 | Wingate & Finchley (7) | 3–2 | Bury Town (8) | 127 |
| 109 | Edgware Town (8) | 2–2 | Clapton (8) | 85 |
| replay | Clapton (8) | 0–1 | Edgware Town (8) | |
| 110 | Stansted (9) | 0–7 | Uxbridge (7) | 87 |
| 111 | Great Yarmouth Town (8) | 0–1 | Berkhamsted Town (7) | 217 |
| 112 | Raunds Town (8) | 1–0 | Hoddesdon Town (8) | 86 |
| 113 | Buckingham Town (8) | 2–0 | Ford Sports Daventry (8) | 101 |
| 114 | Hertford Town (8) | 2–4 | Lowestoft Town (8) | 140 |
| 115 | Yaxley (8) | 2–1 | Barking & East Ham United (7) | 84 |
| 116 | Ruislip Manor (8) | 1–4 | Soham Town Rangers (8) | 78 |
| 117 | Enfield (7) | 1–1 | Hemel Hempstead Town (7) | 89 |
| replay | Hemel Hempstead Town (7) | 2–3 | Enfield (7) | 115 |
| 118 | Wroxham (8) | 6–1 | Banbury United (7) | 137 |
| 119 | Flackwell Heath (8) | 4–1 | Concord Rangers (9) | 83 |
| 120 | Long Buckby (8) | 1–5 | King's Lynn (7) | 210 |
| 121 | Hanwell Town (8) | 2–2 | East Thurrock United (7) | 85 |
| replay | East Thurrock United (7) | 6–3 | Hanwell Town (8) | 147 |
| 122 | Witham Town (8) | 2–0 | Marlow (7) | 77 |
| 123 | Brook House (8) | 1–3 | Wealdstone (7) | 223 |
| 124 | Brackley Town (8) | 4–2 | Harwich & Parkeston (9) | 93 |
| 125 | Greenwich Borough (8) | 1–1 | Maidstone United (8) | 314 |
| replay | Maidstone United (8) | 1–0 | Greenwich Borough (8) | 270 |
| 126 | Hailsham Town (8) | 0–1 | Cowes Sports (8) | 132 |
| 127 | Chessington & Hook United (8) | 2–0 | Merstham (8) | 118 |
| 128 | Leatherhead (7) | 3–1 | Moneyfields (8) | 113 |
| 129 | Windsor & Eton (7) | 0–1 | Metropolitan Police (7) | 134 |
| 130 | Dartford (7) | 1–0 | Bashley (7) | 257 |
| 131 | Walton & Hersham (7) | 0–2 | Walton Casuals (8) | 216 |
| 132 | Three Bridges (8) | 1–1 | Redhill (8) | 75 |
| replay | Redhill (8) | 0–3 | Three Bridges (8) | 86 |
| 133 | Tonbridge Angels (7) | 4–0 | BAT Sports (8) | 424 |
| 134 | Fisher Athletic (7) | 3–4 | Bedfont (8) | 91 |
| 135 | Blackfield & Langley (8) | 1–3 | Thamesmead Town (8) | 76 |
| 136 | Abingdon United (8) | 3–2 | Cove (8) | 44 |
| 137 | Banstead Athletic (7) | 0–2 | Winchester City (8) | 106 |
| 138 | Arundel (8) | 4–0 | Hassocks (8) | 94 |
| 139 | Tooting & Mitcham United (7) | 3–1 | Ashford Town (Middx) (7) | 235 |
| 140 | Chipstead (8) | 1–2 | Ringmer (8) | 778 |
| 141 | Croydon (7) | 1–1 | Hythe Town (8) | |
| replay | Hythe Town (8) | 1–1 (5–4 p) | Croydon (7) | 165 |
| 142 | Abingdon Town (8) | 3–1 | Chichester City United (8) | 128 |
| 143 | Whitchurch United (8) | 4–1 | Withdean 2000 (8) | 50 |
| 144 | Worthing (7) | 7–0 | Ash United (8) | 259 |
| 145 | Fleet Town (7) | 1–0 | Epsom & Ewell (7) | 88 |
| 146 | Slade Green (8) | 1–2 | Hartley Wintney (8) | 57 |
| 147 | Egham Town (7) | 1–8 | Thame United (7) | 66 |
| 148 | Sidlesham (8) | 0–2 | Sittingbourne (7) | 61 |
| 149 | AFC Totton (8) | 3–1 | AFC Newbury (8) | 111 |
| 150 | Didcot Town (8) | 4–1 | Eastbourne Town (8) | 172 |
| 151 | Ashford Town (Kent) (7) | 3–0 | Eastbourne United Association (9) | 363 |
| 152 | Gosport Borough (8) | 2–4 | Erith & Belvedere (7) | 166 |
| 153 | Hastings United (7) | 1–3 | Bracknell Town (7) | 289 |
| 154 | Southwick (8) | 1–4 | Burgess Hill Town (7) | 203 |
| 155 | VCD Athletic (8) | 2–1 | Eastleigh (7) | 67 |
| 156 | Beckenham Town (8) | 2–5 | Sandhurst Town (8) | 28 |
| 157 | Slough Town (7) | 5–0 | East Grinstead Town (8) | 374 |
| 158 | Dulwich Hamlet (7) | 1–3 | Folkestone Invicta (7) | 265 |
| 159 | Wokingham Town (8) | 0–1 | Deal Town (8) | 104 |
| 160 | Dorking (8) | 3–5 | Lewes (7) | 222 |
| 161 | Hillingdon Borough (8) | 2–0 | Corinthian-Casuals (7) | 62 |
| 162 | Wick (9) | 0–5 | Whyteleafe (7) | 102 |
| 163 | Oxford City (7) | 5–1 | Farnham Town (8) | 98 |
| 164 | Molesey (7) | 1–2 | Godalming & Guildford (8) | 76 |
| 165 | Croydon Athletic (7) | 2–1 | Herne Bay (8) | 110 |
| 166 | Bromley (7) | 2–1 | North Leigh (8) | 262 |
| 167 | Whitehawk (8) | 0–2 | Lymington & New Milton (8) | 67 |
| 168 | Thatcham Town (8) | 1–2 | Alton Town (8) | 113 |
| 169 | Whitstable Town (8) | 1–3 | Raynes Park Vale (8) | 136 |
| 170 | Cray Wanderers (8) | 5–0 | Pagham (8) | 87 |
| 171 | Peacehaven & Telscombe (9) | 2–1 | Chessington United (8) | 61 |
| 172 | Horsham (7) | 1–2 | Newport (Isle of Wight) (7) | 297 |
| 173 | Carterton Town (8) | 1–2 | Fareham Town (8) | 82 |
| 174 | Chatham Town (7) | 2–4 | Andover (8) | 143 |
| 175 | Bitton (9) | 3–4 | Christchurch (8) | 162 |
| 176 | Bideford (8) | 1–3 | Swindon Supermarine (7) | 330 |
| 177 | Backwell United (8) | 2–0 | Fairford Town (8) | 41 |
| 178 | Bishop Sutton (8) | 1–0 | Falmouth Town (10) | 78 |
| 179 | Bridport (8) | 2–0 | Street (9) | 102 |
| 180 | Cinderford Town (7) | 1–3 | Brislington (8) | 130 |
| 181 | Melksham Town (8) | 0–4 | Mangotsfield United (7) | 156 |
| 182 | Evesham United (7) | 3–3 | Hallen (9) | 97 |
| replay | Hallen (9) | 2–1 | Evesham United (7) | 179 |
| 183 | Taunton Town (7) | 1–1 | Bournemouth (8) | 336 |
| replay | Bournemouth (8) | 0–5 | Taunton Town (7) | 269 |
| 184 | St Blazey (10) | 5–0 | Willand Rovers (9) | 140 |
| 185 | Highworth Town (8) | 4–3 | Portland United (8) | 132 |
| 186 | Westbury United (9) | 2–2 | Keynsham Town (8) | 103 |
| replay | Keynsham Town (8) | 2–5 | Westbury United (9) | 65 |
| 187 | Minehead Town (9) | 2–2 | Welton Rovers (8) | 80 |
| replay | Welton Rovers (8) | 2–1 | Minehead Town (9) | 75 |
| 188 | Bemerton Heath Harlequins (8) | 3–2 | Torrington (8) | 74 |
| 189 | Bristol Manor Farm (9) | 0–5 | Gloucester City (7) | 153 |
| 190 | Frome Town (8) | 1–1 | Clevedon Town (7) | 156 |
| replay | Clevedon Town (7) | 2–3 | Frome Town (8) | 182 |
| 191 | Porthleven (10) | 0–4 | Team Bath (7) | 238 |
| 192 | Salisbury City (7) | 4–0 | Odd Down (8) | 418 |
| 193 | Elmore (8) | 1–3 | Wimborne Town (8) | 61 |
| 194 | Downton (8) | 3–4 | Exmouth Town (8) | 70 |
| 195 | Yate Town (7) | 1–2 | Cirencester Town (7) | 197 |
| 196 | Paulton Rovers (8) | 2–0 | Calne Town (9) | 86 |
| 197 | Bridgwater Town (8) | 0–1 | Corsham Town (9) | 206 |
| 198 | Dawlish Town (8) | 1–2 | Clevedon United (9) | 68 |

## First qualifying round

Matches on weekend of Saturday 20 September 2003. A total of 198 clubs took part in this stage of the competition, all having progressed from the Preliminary round. St Blazey from the South Western Football League at Level 10 of English football were the lowest-ranked club to qualify for this round of the competition.
| Tie | Home team (tier) | Score | Away team (tier) | Att. |
| 1 | Witton Albion (7) | 7–0 | Holker Old Boys (9) | 279 |
| 2 | Stocksbridge Park Steels (7) | 6–1 | Prudhoe Town (9) | 103 |
| 3 | Mossley (8) | 1–6 | Hyde United (7) | 525 |
| 4 | Rossendale United (7) | 2–1 | Harrogate Railway Athletic (8) | 218 |
| 5 | Clitheroe (8) | 4–1 | Brandon United (8) | 222 |
| Walkover for Brandon United – Clitheroe removed |||||
| 6 | Maltby Main (9) | 4–2 | Colwyn Bay (7) | 110 |
| 7 | Winsford United (9) | 2–1 | Marske United (8) | 189 |
| 8 | Oldham Town (9) | 3–2 | Liversedge (8) | 120 |
| 9 | Ossett Albion (8) | 0–0 | Ossett Town (7) | 522 |
| replay | Ossett Town (7) | 1–3 | Ossett Albion (8) | |
| 10 | Durham City (8) | 0–2 | Shildon (8) | 221 |
| 11 | Ashington (9) | 3–1 | Ramsbottom United (8) | 271 |
| 12 | Thornaby (8) | 1–2 | Guisborough Town (8) | 90 |
| 13 | Armthorpe Welfare (8) | 0–0 | Whickham (9) | 72 |
| replay | Whickham (9) | 2–1 | Armthorpe Welfare (8) | |
| 14 | Bamber Bridge (7) | 2–0 | Bacup Borough (8) | |
| 15 | Guiseley (7) | 1–0 | Trafford (8) | 242 |
| 16 | Bishop Auckland (7) | 0–1 | Pickering Town (8) | 168 |
| 17 | Chester-le-Street Town (8) | 2–0 | Murton (9) | 71 |
| 18 | Warrington Town (8) | 6–1 | North Ferriby United (7) | 107 |
| 19 | Chorley (7) | 2–1 | Selby Town (8) | 222 |
| 20 | Dunston Federation Brewery (8) | 2–2 | Billingham Town (8) | 104 |
| replay | Billingham Town (8) | 0–1 | Dunston Federation Brewery (8) | |
| 21 | Farsley Celtic (7) | 1–1 | Sheffield (8) | |
| replay | Sheffield (8) | 1–3 | Farsley Celtic (7) | |
| 22 | Bridlington Town (7) | 5–0 | Salford City (8) | 311 |
| 23 | Skelmersdale United (8) | 2–0 | Consett (9) | 102 |
| 24 | Fleetwood Town (8) | 3–2 | Bedlington Terriers (8) | 158 |
| 25 | Stourport Swifts (7) | 0–3 | Rugby United (7) | 173 |
| 26 | Oadby Town (8) | 0–2 | Stamford (7) | 281 |
| 27 | Barwell (8) | 2–5 | Newcastle Town (8) | 113 |
| 28 | Glapwell (8) | 1–2 | Gedling Town (9) | 75 |
| 29 | Shirebrook Town (9) | 2–0 | Stafford Town (8) | 190 |
| 30 | Studley (8) | 0–1 | Bromsgrove Rovers (7) | 387 |
| 31 | Solihull Borough (7) | 0–3 | Redditch United (7) | 416 |
| 32 | Long Eaton United (9) | 0–2 | Ilkeston Town (7) | 484 |
| 33 | Mickleover Sports (8) | 0–0 | Eastwood Town (8) | 213 |
| replay | Eastwood Town (8) | 1–0 | Mickleover Sports (8) | |
| 34 | Sutton Coldfield Town (7) | 1–1 | Causeway United (8) | 118 |
| replay | Causeway United (8) | 0–3 | Sutton Coldfield Town (7) | |
| 35 | Pelsall Villa (8) | 0–4 | Belper Town (7) | |
| 36 | Corby Town (7) | 1–1 | Halesowen Town (7) | 228 |
| replay | Halesowen Town (7) | 3–2 | Corby Town (7) | |
| 37 | Spalding United (8) | 2–2 | Sutton Town (9) | 293 |
| replay | Sutton Town (9) | 0–5 | Spalding United (8) | |
| 38 | Congleton Town (8) | 1–0 | Leek Town (7) | 386 |
| 39 | Biddulph Victoria (8) | 1–1 | Buxton (8) | 326 |
| replay | Buxton (8) | 3–2 | Biddulph Victoria (8) | |
| 40 | Newmarket Town (8) | 6–1 | Brackley Town (8) | 160 |
| 41 | Hampton & Richmond Borough (7) | 1–0 | Dunstable Town (7) | 155 |
| 42 | Harlow Town (7) | 1–0 | St Neots Town (8) | 140 |
| 43 | Waltham Forest (7) | 1–3 | Rothwell Town (7) | 96 |
| 44 | Dereham Town (8) | 1–4 | Tilbury (7) | 120 |
| 45 | Aveley (7) | 1–2 | Lowestoft Town (8) | 107 |
| 46 | Wealdstone (7) | 0–1 | Uxbridge (7) | 326 |
| 47 | Leyton (7) | 4–0 | Arlesey Town (7) | 108 |
| 48 | Edgware Town (8) | 0–1 | Enfield Town (9) | 225 |
| 49 | Ware (8) | 2–2 | Buckingham Town (8) | 116 |
| replay | Buckingham Town (8) | 2–1 | Ware (8) | |
| Tie | Home team (tier) | Score | Away team (tier) | Att. |
| 50 | Wingate & Finchley (7) | 3–1 | Raunds Town (8) | 107 |
| 51 | Mildenhall Town (8) | 1–6 | Histon (7) | 168 |
| 52 | AFC Wallingford (8) | 2–0 | Ipswich Wanderers (9) | 137 |
| 53 | Berkhamsted Town (7) | 0–9 | AFC Sudbury (8) | 376 |
| 54 | Chesham United (7) | 2–0 | Yaxley (8) | 202 |
| 55 | Wroxham (8) | 2–2 | Flackwell Heath (8) | 163 |
| replay | Flackwell Heath (8) | 1–0 | Wroxham (8) | |
| 56 | East Thurrock United (7) | 2–1 | Staines Town (7) | 140 |
| 57 | Wivenhoe Town (7) | 2–3 | Soham Town Rangers (8) | 124 |
| 58 | Boreham Wood (7) | 2–1 | Maldon Town (8) | 121 |
| 59 | St Margaretsbury (8) | 2–2 | Leighton Town (8) | 83 |
| replay | Leighton Town (8) | 0–1 | St Margaretsbury (8) | |
| 60 | Haverhill Rovers (9) | 1–2 | Burnham Ramblers (9) | 230 |
| 61 | King's Lynn (7) | 2–2 | Stewart & Lloyds Corby (8) | 871 |
| replay | Stewart & Lloyds Corby (8) | 0–3 | King's Lynn (7) | |
| 62 | Enfield (7) | 4–0 | Witham Town (8) | 99 |
| 63 | Whitchurch United (8) | 0–3 | Tooting & Mitcham United (7) | 156 |
| 64 | Raynes Park Vale (8) | 0–2 | Folkestone Invicta (7) | 120 |
| 65 | Lymington & New Milton (8) | 1–0 | Erith & Belvedere (7) | 133 |
| 66 | Cray Wanderers (8) | 4–1 | Sandhurst Town (8) | 129 |
| 67 | Deal Town (8) | 1–2 | Leatherhead (7) | 170 |
| 68 | Ashford Town (Kent) (7) | 1–1 | Bromley (7) | 427 |
| replay | Bromley (7) | 1–0 | Ashford Town (Kent) (7) | |
| 69 | Tonbridge Angels (7) | 1–1 | Lewes (7) | 617 |
| replay | Lewes (7) | 2–1 | Tonbridge Angels (7) | |
| 70 | Hillingdon Borough (8) | 1–1 | Oxford City (7) | 85 |
| replay | Oxford City (7) | 2–1 | Hillingdon Borough (8) | |
| 71 | Chessington & Hook United (8) | 1–4 | Thamesmead Town (8) | 123 |
| 72 | Slough Town (7) | 2–0 | Godalming & Guildford (8) | 319 |
| 73 | Metropolitan Police (7) | 2–3 | Winchester City (8) | 180 |
| 74 | Fareham Town (8) | 1–2 | Newport (Isle of Wight) (7) | 210 |
| 75 | Hythe Town (8) | 3–1 | Alton Town (8) | 136 |
| 76 | Burgess Hill Town (7) | 2–1 | Abingdon United (8) | 220 |
| 77 | Thame United (7) | 4–2 | VCD Athletic (8) | 145 |
| 78 | Worthing (7) | 4–1 | Walton Casuals (8) | 390 |
| 79 | Dartford (7) | 3–0 | Peacehaven & Telscombe (9) | 284 |
| 80 | Sittingbourne (7) | 1–0 | Whyteleafe (7) | 267 |
| 81 | Andover (8) | 5–0 | Arundel (8) | 278 |
| 82 | Abingdon Town (8) | 4–3 | Ringmer (8) | 88 |
| 83 | Bracknell Town (7) | 3–2 | Hartley Wintney (8) | 154 |
| 84 | Three Bridges (8) | 1–2 | Fleet Town (7) | 129 |
| 85 | Croydon Athletic (7) | 7–1 | Bedfont (8) | 142 |
| 86 | AFC Totton (8) | 1–3 | Didcot Town (8) | 94 |
| 87 | Maidstone United (8) | 4–0 | Cowes Sports (8) | 350 |
| 88 | Clevedon United (9) | 4–1 | Frome Town (8) | 141 |
| 89 | Paulton Rovers (8) | 2–0 | Bemerton Heath Harlequins (8) | 133 |
| 90 | Gloucester City (7) | 0–0 | Team Bath (7) | 377 |
| replay | Team Bath (7) | 0–2 | Gloucester City (7) | |
| 91 | Christchurch (8) | 2–3 | Westbury United (9) | 103 |
| 92 | Mangotsfield United (7) | 4–3 | Bridport (8) | 229 |
| 93 | Cirencester Town (7) | 2–1 | Swindon Supermarine (7) | 188 |
| 94 | Corsham Town (9) | 1–2 | Brislington (8) | 160 |
| 95 | Salisbury City (7) | 4–1 | Taunton Town (7) | 551 |
| 96 | Exmouth Town (8) | 2–2 | St Blazey (10) | |
| replay | St Blazey (10) | 2–2 (3–4 p) | Exmouth Town (8) | |
| 97 | Hallen (9) | 1–2 | Highworth Town (8) | 84 |
| 98 | Backwell United (8) | 1–4 | Wimborne Town (8) | 49 |
| 99 | Welton Rovers (8) | 3–3 | Bishop Sutton (8) | 70 |
| replay | Bishop Sutton (8) | 1–0 | Welton Rovers (8) |

## Second qualifying round

Matches played on weekend of Saturday 27 September 2003. A total of 168 clubs took part in this stage of the competition, including the 99 winners from the first qualifying round and 69 Level 6 clubs, from Premier divisions of the Isthmian League, Northern Premier League and Southern Football League, entering at this stage. The round featured eleven clubs from Level 9 still in the competition, being the lowest ranked clubs in this round.
| Tie | Home team (tier) | Score | Away team (tier) | Att. |
| 1 | Frickley Athletic (6) | 0–0 | Shildon (8) | 253 |
| replay | Shildon (8) | 5–1 | Frickley Athletic (6) | 664 |
| 2 | Whitby Town (6) | 3–0 | Winsford United (9) | 282 |
| 3 | Runcorn Halton (6) | 3–0 | Guiseley (7) | 234 |
| 4 | Droylsden (6) | 2–2 | Burscough (6) | 151 |
| replay | Burscough (6) | 1–2 | Droylsden (6) | 166 |
| 5 | Pickering Town (8) | 0–1 | Ossett Albion (8) | 258 |
| 6 | Vauxhall Motors (6) | 3–1 | Southport (6) | 492 |
| 7 | Dunston Federation Brewery (8) | 1–1 | Fleetwood Town (8) | 165 |
| replay | Fleetwood Town (8) | 1–2 | Dunston Federation Brewery (8) | 185 |
| 8 | Bridlington Town (7) | 2–2 | Farsley Celtic (7) | 359 |
| replay | Farsley Celtic (7) | 3–0 | Bridlington Town (7) | 182 |
| 9 | Stocksbridge Park Steels (7) | 3–2 | Brandon United (8) | 139 |
| 10 | Ashton United (6) | 1–1 | Hyde United (7) | 446 |
| replay | Hyde United (7) | 1–2 | Ashton United (6) | 489 |
| 11 | Blyth Spartans (6) | 3–0 | Bamber Bridge (7) | 464 |
| 12 | Marine (6) | 3–1 | Rossendale United (7) | 332 |
| 13 | Chester-le-Street Town (8) | 0–2 | Bradford (Park Avenue) (6) | 201 |
| 14 | Maltby Main (9) | 2–3 | Ashington (9) | 121 |
| 15 | Barrow (6) | 2–0 | Harrogate Town (6) | 1,250 |
| 16 | Lancaster City (6) | 2–0 | Altrincham (6) | 489 |
| 17 | Gainsborough Trinity (6) | 6–0 | Skelmersdale United (8) | 376 |
| 18 | Witton Albion (7) | 0–1 | Wakefield & Emley (6) | 348 |
| 19 | Guisborough Town (8) | 2–2 | Stalybridge Celtic (6) | 205 |
| replay | Stalybridge Celtic (6) | 3–1 | Guisborough Town (8) | 305 |
| 20 | Chorley (7) | 5–0 | Whickham (9) | 239 |
| 21 | Radcliffe Borough (6) | 2–1 | Oldham Town (9) | 294 |
| 22 | Spennymoor United (6) | 0–2 | Warrington Town (8) | 202 |
| 23 | Gedling Town (9) | 1–0 | Alfreton Town (6) | 280 |
| 24 | Newcastle Town (8) | 2–1 | Sutton Coldfield Town (7) | 107 |
| 25 | Cambridge City (6) | 3–1 | Ilkeston Town (7) | 294 |
| 26 | Hednesford Town (6) | 0–2 | Bromsgrove Rovers (7) | 570 |
| 27 | Rothwell Town (7) | 0–1 | Bedford Town (6) | 410 |
| 28 | Stafford Rangers (6) | 1–2 | Grantham Town (6) | 797 |
| 29 | Redditch United (7) | 1–1 | Shirebrook Town (9) | 337 |
| replay | Shirebrook Town (9) | 2–2 (4–1 p) | Redditch United (7) | 340 |
| 30 | Spalding United (8) | 1–2 | Halesowen Town (7) | 393 |
| 31 | Stamford (7) | 0–3 | Kettering Town (6) | 862 |
| 32 | Hucknall Town (6) | 1–1 | Congleton Town (8) | 447 |
| replay | Congleton Town (8) | 3–2 | Hucknall Town (6) | 290 |
| 33 | Soham Town Rangers (8) | 0–2 | Histon (7) | 281 |
| 34 | Buxton (8) | 1–0 | Belper Town (7) | 915 |
| 35 | Nuneaton Borough (6) | 1–0 | Worcester City (6) | 1,352 |
| 36 | Worksop Town (6) | 2–2 | King's Lynn (7) | 834 |
| replay | King's Lynn (7) | 1–4 | Worksop Town (6) | 1,209 |
| 37 | Rugby United (7) | 1–3 | Eastwood Town (8) | 364 |
| 38 | Moor Green (6) | 1–2 | Hinckley United (6) | 271 |
| 39 | Basingstoke Town (6) | 1–0 | Cray Wanderers (8) | 351 |
| 40 | Sutton United (6) | 0–0 | Bishop's Stortford (6) | 429 |
| replay | Bishop's Stortford (6) | 1–1 (5–3 p) | Sutton United (6) | 347 |
| Tie | Home team (tier) | Score | Away team (tier) | Att. |
| 41 | Buckingham Town (8) | 1–2 | Thurrock (6) | 182 |
| 42 | Bromley (7) | 2–0 | Dartford (7) | 542 |
| 43 | Sittingbourne (7) | 1–2 | East Thurrock United (7) | 301 |
| 44 | Boreham Wood (7) | 4–0 | Burgess Hill Town (7) | 165 |
| 45 | Bracknell Town (7) | 4–2 | Tilbury (7) | 178 |
| 46 | Hendon (6) | 4–0 | Enfield (7) | 158 |
| 47 | Canvey Island (6) | 6–1 | Uxbridge (7) | 321 |
| 48 | Wingate & Finchley (7) | 1–2 | Oxford City (7) | 159 |
| 49 | Hampton & Richmond Borough (7) | 2–1 | Kingstonian (6) | 660 |
| 50 | Heybridge Swifts (6) | 3–3 | Worthing (7) | 297 |
| replay | Worthing (7) | 2–0 | Heybridge Swifts (6) | 452 |
| 51 | Lowestoft Town (8) | 2–1 | Lewes (7) | 317 |
| 52 | Hythe Town (8) | 0–4 | Maidstone United (8) | 603 |
| 53 | Leyton (7) | 1–0 | Leatherhead (7) | 140 |
| 54 | Slough Town (7) | 1–1 | Welling United (6) | 465 |
| replay | Welling United (6) | 4–1 | Slough Town (7) | 418 |
| 55 | Thame United (7) | 4–0 | Thamesmead Town (8) | 150 |
| 56 | Abingdon Town (8) | 1–2 | Chesham United (7) | 183 |
| 57 | Hornchurch (6) | 2–1 | Billericay Town (6) | 836 |
| 58 | Newmarket Town (8) | 3–0 | Fleet Town (7) | 221 |
| 59 | Braintree Town (6) | 3–2 | Aylesbury United (6) | 214 |
| 60 | St Albans City (6) | 2–4 | Grays Athletic (6) | 420 |
| 61 | Hayes (6) | 4–2 | Tooting & Mitcham United (7) | 272 |
| 62 | Enfield Town (9) | 0–1 | Carshalton Athletic (6) | 501 |
| 63 | Hitchin Town (6) | 0–0 | Folkestone Invicta (7) | 319 |
| replay | Folkestone Invicta (7) | 3–0 | Hitchin Town (6) | 428 |
| 64 | Ford United (6) | 3–1 | Didcot Town (8) | 117 |
| 65 | Croydon Athletic (7) | 2–0 | AFC Wallingford (8) | 150 |
| 66 | Northwood (6) | 2–4 | AFC Sudbury (8) | 385 |
| 67 | Dover Athletic (6) | 4–0 | Maidenhead United (6) | 703 |
| 68 | Burnham Ramblers (9) | 1–3 | St Margaretsbury (8) | 160 |
| 69 | Eastbourne Borough (6) | 2–2 | Chelmsford City (6) | 608 |
| replay | Chelmsford City (6) | 0–2 | Eastbourne Borough (6) | 441 |
| 70 | Harrow Borough (6) | 0–0 | Flackwell Heath (8) | 120 |
| replay | Flackwell Heath (8) | 0–1 | Harrow Borough (6) | 128 |
| 71 | Harlow Town (7) | 0–4 | Crawley Town (6) | 372 |
| 72 | Newport County (6) | 3–2 | Weymouth (6) | 769 |
| 73 | Bognor Regis Town (6) | 0–4 | Havant & Waterlooville (6) | 945 |
| 74 | Newport (Isle of Wight) (7) | 2–1 | Tiverton Town (6) | 378 |
| 75 | Weston-super-Mare (6) | 4–1 | Dorchester Town (6) | 293 |
| 76 | Paulton Rovers (8) | 4–1 | Bishop Sutton (8) | 123 |
| 77 | Mangotsfield United (7) | 3–0 | Wimborne Town (8) | 233 |
| 78 | Brislington (8) | 0–2 | Bath City (6) | 516 |
| 79 | Salisbury City (7) | 1–1 | Westbury United (9) | 570 |
| replay | Westbury United (9) | 1–2 | Salisbury City (7) | 478 |
| 80 | Chippenham Town (6) | 2–1 | Winchester City (8) | 461 |
| 81 | Gloucester City (7) | 2–0 | Merthyr Tydfil (6) | 476 |
| 82 | Lymington & New Milton (8) | 8–2 | Clevedon United (9) | 130 |
| 83 | Cirencester Town (7) | 3–2 | Andover (8) | 202 |
| 84 | Exmouth Town (8) | 0–1 | Highworth Town (8) | 258 |

## Third qualifying round

Matches played on weekend of Saturday 11 October 2003. A total of 84 clubs took part, all having progressed from the second qualifying round. Ashington, Gedling Town and Shirebrook Town from Level 9 of English football were the lowest-ranked club to qualify for this round of the competition.
| Tie | Home team (tier) | Score | Away team (tier) | Att. |
| 1 | Ashton United (6) | 2–1 | Barrow (6) | 429 |
| 2 | Farsley Celtic (7) | 3–0 | Worksop Town (6) | 374 |
| 3 | Shirebrook Town (9) | 1–3 | Shildon (8) | 662 |
| 4 | Nuneaton Borough (6) | 1–1 | Runcorn Halton (6) | 1,201 |
| replay | Runcorn Halton (6) | 2–2 (5–4 p) | Nuneaton Borough (6) | 347 |
| 5 | Ashington (9) | 1–3 | Grantham Town (6) | 659 |
| 6 | Gedling Town (9) | 0–1 | Stalybridge Celtic (6) | 210 |
| 7 | Eastwood Town (8) | 1–1 | Stocksbridge Park Steels (7) | 277 |
| replay | Stocksbridge Park Steels (7) | 3–2 | Eastwood Town (8) | 253 |
| 8 | Newcastle Town (8) | 1–1 | Ossett Albion (8) | 184 |
| replay | Ossett Albion (8) | 4–4 (3–0 p) | Newcastle Town (8) | 334 |
| 9 | Marine (6) | 1–2 | Dunston Federation Brewery (8) | 329 |
| 10 | Blyth Spartans (6) | 2–1 | Halesowen Town (7) | 667 |
| 11 | Bradford (Park Avenue) (6) | 1–1 | Vauxhall Motors (6) | 321 |
| replay | Vauxhall Motors (6) | 1–3 | Bradford (Park Avenue) (6) | 278 |
| 12 | Warrington Town (8) | 0–0 | Whitby Town (6) | 253 |
| replay | Whitby Town (6) | 2–1 | Warrington Town (8) | 364 |
| 13 | Wakefield & Emley (6) | 0–2 | Hinckley United (6) | 248 |
| 14 | Droylsden (6) | 0–2 | Gainsborough Trinity (6) | 345 |
| 15 | Buxton (8) | 2–1 | Radcliffe Borough (6) | 1,416 |
| 16 | Chorley (7) | 1–1 | Lancaster City (6) | 616 |
| replay | Lancaster City (6) | 1–0 | Chorley (7) | 452 |
| 17 | Congleton Town (8) | 0–2 | Bromsgrove Rovers (7) | 544 |
| 18 | Kettering Town (6) | 2–0 | St Margaretsbury (8) | 790 |
| 19 | Folkestone Invicta (7) | 1–1 | Welling United (6) | 734 |
| replay | Welling United (6) | 2–2 (5–3 p) | Folkestone Invicta (7) | 602 |
| 20 | Bromley (7) | 1–1 | Thurrock (6) | 461 |
| replay | Thurrock (6) | 3–0 | Bromley (7) | 231 |
| Tie | Home team (tier) | Score | Away team (tier) | Att. |
| 21 | Histon (7) | 0–0 | Newmarket Town (8) | 402 |
| replay | Newmarket Town (8) | 0–1 | Histon (7) | 938 |
| 22 | Hornchurch (6) | 5–0 | Carshalton Athletic (6) | 611 |
| 23 | Canvey Island (6) | 4–3 | Dover Athletic (6) | 528 |
| 24 | Ford United (6) | 3–2 | Worthing (7) | 167 |
| 25 | Cambridge City (6) | 3–0 | Lowestoft Town (8) | 357 |
| 26 | Maidstone United (8) | 1–1 | Bishop's Stortford (6) | 601 |
| replay | Bishop's Stortford (6) | 3–2 | Maidstone United (8) | 568 |
| 27 | Hayes (6) | 1–1 | Boreham Wood (7) | 350 |
| replay | Boreham Wood (7) | 3–1 | Hayes (6) | 268 |
| 28 | East Thurrock United (7) | 1–1 | AFC Sudbury (8) | 600 |
| replay | AFC Sudbury (8) | 1–1 (2–4 p) | East Thurrock United (7) | 602 |
| 29 | Leyton (7) | 3–0 | Bedford Town (6) | 275 |
| 30 | Grays Athletic (6) | 3–0 | Hendon (6) | 406 |
| 31 | Braintree Town (6) | 0–4 | Eastbourne Borough (6) | 351 |
| 32 | Crawley Town (6) | 6–1 | Croydon Athletic (7) | 897 |
| 33 | Basingstoke Town (6) | 0–0 | Bracknell Town (7) | 429 |
| replay | Bracknell Town (7) | 1–0 | Basingstoke Town (6) | 375 |
| 34 | Gloucester City (7) | 4–3 | Chippenham Town (6) | 611 |
| 35 | Thame United (7) | 3–0 | Bath City (6) | 342 |
| 36 | Oxford City (7) | 0–3 | Cirencester Town (7) | 181 |
| 37 | Havant & Waterlooville (6) | 3–4 | Salisbury City (7) | 494 |
| 38 | Newport (Isle of Wight) (7) | 2–2 | Harrow Borough (6) | 415 |
| replay | Harrow Borough (6) | 2–0 | Newport (Isle of Wight) (7) | 181 |
| 39 | Newport County (6) | 3–6 | Mangotsfield United (7) | 667 |
| 40 | Weston-super-Mare (6) | 1–1 | Chesham United (7) | 303 |
| replay | Chesham United (7) | 1–2 | Weston-super-Mare (6) | 211 |
| 40 | Lymington & New Milton (8) | 2–0 | Highworth Town (8) | 200 |
| 42 | Paulton Rovers (8) | 2–1 | Hampton & Richmond Borough (7) | 300 |

## Fourth qualifying round

Matches played on weekend of Saturday 25 October 2003. A total of 64 clubs took part, 42 having progressed from the third qualifying round and 22 clubs from Conference Premier, forming Level 5 of English football, entering at this stage. The round featured six clubs from Level 8 still in the competition, being the lowest ranked clubs in this round.
| Tie | Home team (tier) | Score | Away team (tier) | Att. |
| 1 | Ossett Albion (8) | 0–1 | Stalybridge Celtic (6) | 621 |
| 2 | Dunston Federation Brewery (8) | 0–1 | Lancaster City (6) | 310 |
| 3 | Ashton United (6) | 1–2 | Grantham Town (6) | 413 |
| 4 | Blyth Spartans (6) | 0–1 | Chester City (5) | 1,105 |
| 5 | Bromsgrove Rovers (7) | 2–2 | Whitby Town (6) | 814 |
| replay | Whitby Town (6) | 2–1 | Bromsgrove Rovers (7) | |
| 6 | Burton Albion (5) | 6–0 | Buxton (8) | 1,980 |
| 7 | Morecambe (5) | 2–4 | Shrewsbury Town (5) | 1,651 |
| 8 | Telford United (5) | 3–3 | Tamworth (5) | 1,431 |
| replay | Tamworth (5) | 2–3 | Telford United (5) | 1,221 |
| 9 | Scarborough (5) | 3–1 | Hinckley United (6) | 1,207 |
| 10 | Farsley Celtic (7) | 1–1 | Gainsborough Trinity (6) | 774 |
| replay | Gainsborough Trinity (6) | 3–0 | Farsley Celtic (7) | 845 |
| 11 | Accrington Stanley (5) | 2–0 | Leigh RMI (5) | 1,361 |
| 12 | Northwich Victoria (5) | 1–0 | Halifax Town (5) | 1,101 |
| 13 | Runcorn Halton (6) | 0–1 | Bradford (Park Avenue) (6) | 379 |
| 14 | Shildon (8) | 6–0 | Stocksbridge Park Steels (7) | 1,046 |
| 15 | Leyton (7) | 1–2 | Histon (7) | 288 |
| 16 | Eastbourne Borough (6) | 2–2 | Stevenage Borough (5) | 1,305 |
| replay | Stevenage Borough (5) | 1–0 | Eastbourne Borough (6) | 1,205 |
| Tie | Home team (tier) | Score | Away team (tier) | Att. |
| 17 | Bracknell Town (7) | 0–3 | Barnet (5) | 1,069 |
| 18 | Thame United (7) | 1–2 | Farnborough Town (5) | 909 |
| 19 | Grays Athletic (6) | 3–3 | Margate (5) | 665 |
| replay | Margate (5) | 3–3 (1–3 p) | Grays Athletic (6) | 411 |
| 20 | Welling United (6) | 2–3 | Weston-super-Mare (6) | 678 |
| 21 | Boreham Wood (7) | 1–0 | Kettering Town (6) | 501 |
| 22 | Forest Green Rovers (5) | 1–3 | Aldershot Town (5) | 1,137 |
| 23 | Thurrock (6) | 2–1 | Dagenham & Redbridge (5) | 957 |
| 24 | Harrow Borough (6) | 1–6 | Hereford United (5) | 655 |
| 25 | Bishop's Stortford (6) | 2–0 | Gloucester City (7) | 768 |
| 26 | Salisbury City (7) | 5–1 | Lymington & New Milton (8) | 1,190 |
| 27 | Cambridge City (6) | 2–3 | Ford United (6) | 412 |
| 28 | Mangotsfield United (7) | 1–2 | Canvey Island (6) | 1.083 |
| 29 | Hornchurch (6) | 1–0 | Paulton Rovers (8) | 747 |
| 30 | East Thurrock United (7) | 1–1 | Woking (5) | 1,215 |
| replay | Woking (5) | 2–0 | East Thurrock United (7) | 1,781 |
| 31 | Cirencester Town (7) | 2–4 | Crawley Town (6) | 715 |
| 32 | Exeter City (5) | 0–0 | Gravesend & Northfleet (5) | 2,686 |
| replay | Gravesend & Northfleet (5) | 3–3 (6–5 p) | Exeter City (5) | 1,227 |

## Competition proper

See 2003–04 FA Cup for details of the rounds from the first round proper onwards.