| First round |
| 15 October 1887 | Accrington | 11 | - | 0 | Rossendale | |
| 15 October 1887 | Aston Shakespeare | 2 | - | 3 | Burton Wanderers | Replay ordered after protest |
| 15 October 1887 | Basford Rovers | 3 | - | 2 | Lincoln Albion | |
| 15 October 1887 | Belper Town | 2 | - | 3 | The Wednesday | |
| 15 October 1887 | Birmingham Excelsior | 4 | - | 1 | Warwick County | Replay ordered after protest |
| 8 October 1887 | Blackburn Park Road | 2 | - | 1 | Distillery | Distillery reinstated after protest |
| Walkover | Blackburn Rovers | | | | Bury | Scratched |
| 15 October 1887 | Bolton Wanderers | 1 | - | 0 | Everton | Replay ordered after Bolton fielded ineligible player |
| 15 October 1887 | Bootle | 6 | - | 0 | Workington | |
| 15 October 1887 | Burnley | 4 | - | 0 | Darwen Old Wanderers | Replay ordered after protest |
| 15 October 1887 | Burton Swifts | 7 | - | 0 | Southfield | |
| 15 October 1887 | Chatham | 5 | - | 1 | Luton Town | |
| 15 October 1887 | Chesham | 4 | - | 2 | Watford Rovers | Replay ordered after protest |
| 15 October 1887 | Chester | 2 | - | 3 | Davenham | |
| 15 October 1887 | Chirk | 4 | - | 1 | Chester St Oswalds | |
| Walkover | Church | | | | Cliftonville | Scratched |
| 15 October 1887 | Cleethorpes Town | 0 | - | 4 | Grimsby Town | |
| 15 October 1887 | Crewe Alexandra | 5 | - | 0 | Druids | |
| 15 October 1887 | Crusaders | 9 | - | 0 | Lyndhurst | |
| 15 October 1887 | Derby Junction | 3 | - | 2 | Derby St Luke's | |
| 15 October 1887 | Ecclesfield | 4 | - | 1 | Derby Midland | |
| 15 October 1887 | Elswick Rangers | 3 | - | 3 | Bishop Auckland Church Institute | |
| 15 October 1887 | Fleetwood Rangers | 4 | - | 1 | West Manchester | |
| 15 October 1887 | Gainsborough Trinity | 7 | - | 0 | Boston | |
| 15 October 1887 | Gateshead Association | 0 | - | 3 | Darlington | |
| 15 October 1887 | Grantham | 4 | - | 0 | Lincoln Lindum | |
| 15 October 1887 | Hendon | 2 | - | 4 | Old Harrovians | |
| 15 October 1887 | Higher Walton | 8 | - | 1 | Heywood Central | |
| 8 October 1887 | Hitchin | 2 | - | 5 | Old Wykehamists | |
| 15 October 1887 | Hurst | 5 | - | 3 | Astley Bridge | Hurst disqualified after protest |
| 15 October 1887 | Leek | 2 | - | 2 | Northwich Victoria | |
| 15 October 1887 | Lincoln City | 4 | - | 1 | Horncastle | |
| 15 October 1887 | Liverpool Stanley | 1 | - | 5 | Halliwell | |
| 8 October 1887 | Llangollen | 7 | - | 3 | Oswestry Town | Replay ordered after protest |
| 15 October 1887 | London Caledonians | 1 | - | 6 | Old Foresters | |
| 15 October 1887 | Long Eaton Rangers | 6 | - | 3 | Park George | |
| 15 October 1887 | Macclesfield Town | 1 | - | 3 | Shrewsbury Town | |
| 8 October 1887 | Marlow | 4 | - | 1 | South Reading | |
| 15 October 1887 | Matlock | 2 | - | 3 | Rotherham Town | |
| 15 October 1887 | Middlesbrough | 4 | - | 0 | Whitburn | |
| Walkover | Millwall Rovers | | | | Casuals | Scratched |
| 15 October 1887 | Newcastle West End | 5 | - | 1 | Redcar | |
| 15 October 1887 | Nottingham Forest | 2 | - | 1 | Notts Swifts | |
| 15 October 1887 | Notts County | 9 | - | 0 | Lincoln Ramblers | |
| 15 October 1887 | Notts Olympic | 3 | - | 6 | Mellors | aet - replay ordered after protest |
| 15 October 1887 | Notts Rangers | 10 | - | 1 | Jardines | |
| 8 October 1887 | Old Brightonians | 1 | - | 0 | Swindon Town | |
| 15 October 1887 | Old Carthusians | 5 | - | 0 | Hanover United | |
| 8 October 1887 | Old Etonians | 4 | - | 2 | Lancing Old Boys | |
| 15 October 1887 | Old St Mark's | 7 | - | 2 | East Sheen | |
| 15 October 1887 | Old Westminsters | 4 | - | 1 | Clapton | |
| 15 October 1887 | Oldbury Town | 0 | - | 4 | Aston Villa | |
| 15 October 1887 | Oswaldtwistle Rovers | 3 | - | 4 | Witton | Match declared void |
| 15 October 1887 | Over Wanderers | 3 | - | 1 | Wellington St George's | |
| 15 October 1887 | Owlerton | 2 | - | 1 | Eckington Works | |
| 15 October 1887 | Preston North End | 26 | - | 0 | Hyde | |
| 15 October 1887 | Rawtenstall | 1 | - | 3 | Darwen | |
| 15 October 1887 | Reading | 0 | - | 2 | Dulwich | Replay ordered after protest |
| 15 October 1887 | Royal Engineers | 3 | - | 0 | Rochester | |
| 15 October 1887 | Scarborough | 3 | - | 5 | Shankhouse | |
| 15 October 1887 | Sheffield | 1 | - | 3 | Lockwood Brothers | |
| 15 October 1887 | Sheffield Heeley | 9 | - | 0 | Attercliffe | |
| 15 October 1887 | Small Heath Alliance | 6 | - | 1 | Aston Unity | |
| 15 October 1887 | South Bank | 3 | - | 2 | Newcastle East End | |
| Walkover | South Shore | | | | Denton | Scratched |
| 15 October 1887 | Stafford Road | 2 | - | 1 | Great Bridge Unity | Match declared void |
| 15 October 1887 | Staveley | 1 | - | 2 | Derby County | |
| 15 October 1887 | Stoke | 1 | - | 0 | Burslem Port Vale | |
| 15 October 1887 | Sunderland | 4 | - | 2 | Morpeth Harriers | Replay ordered after protest |
| 15 October 1887 | Swifts | 3 | - | 1 | Maidenhead | |
| 15 October 1887 | Walsall Swifts | 1 | - | 2 | Wolverhampton Wanderers | |
| 15 October 1887 | Walsall Town | 1 | - | 2 | Mitchell St George's | |
| 15 October 1887 | West Bromwich Albion | 7 | - | 1 | Wednesbury Old Athletic | |
| Bye | Blackburn Olympic | | | | | |
| Bye | Hotspur | | | | | |
| Bye | Wrexham Olympic | | | | | |
| Replays |
| Walkover | Astley Bridge | | | | Hurst | Scratched |
| Walkover | Aston Shakespeare | | | | Burton Wanderers | Scratched |
| 22 October 1887 | Bishop Auckland Church Institute | 0 | - | 2 | Elswick Rangers | |
| Walkover | Burnley | | | | Darwen Old Wanderers | Scratched |
| Walkover | Dulwich | | | | Reading | Scratched |
| 29 October 1887 | Everton | 2 | - | 2 | Bolton Wanderers | |
| 22 October 1887 | Great Bridge Unity | 1 | - | 1 | Stafford Road | |
| 22 October 1887 | Llangollen | 0 | - | 2 | Oswestry Town | |
| 22 October 1887 | Morpeth Harriers | 2 | - | 3 | Sunderland | |
| 22 October 1887 | Northwich Victoria | 4 | - | 2 | Leek | |
| 22 October 1887 | Notts Olympic | 1 | - | 2 | Mellors | |
| 22 October 1887 | Oswaldtwistle Rovers | 1 | - | 4 | Witton | |
| Walkover | Royal Engineers | | | | Rochester | Scratched |
| 22 October 1887 | Warwick County | 0 | - | 5 | Birmingham Excelsior | |
| 22 October 1887 | Watford Rovers | 3 | - | 1 | Chesham | |
| 2nd Replays |
| 12 November 1887 | Everton | 1 | - | 1 | Bolton Wanderers | |
| Walkover | Great Bridge Unity | | | | Stafford Road | Scratched |
| 3rd Replay |
| 19 November 1887 | Everton | 2 | - | 1 | Bolton Wanderers | Everton disqualified after fielding ineligible player |
| Second round |
| 5 November 1887 | Accrington | 3 | - | 2 | Burnley | |
| 5 November 1887 | Astley Bridge | 0 | - | 4 | Halliwell | |
| 5 November 1887 | Blackburn Olympic | 1 | - | 5 | Blackburn Rovers | |
| 5 November 1887 | Bootle | 1 | - | 1 | South Shore | |
| 5 November 1887 | Burton Swifts | 2 | - | 5 | Great Bridge Unity | |
| 5 November 1887 | Chatham | 3 | - | 1 | Royal Engineers | |
| 5 November 1887 | Chirk | 10 | - | 2 | Shrewsbury Town | |
| 29 October 1887 | Crusaders | 3 | - | 2 | Old Wykehamists | |
| 5 November 1887 | Darlington | 4 | - | 3 | Elswick Rangers | |
| 5 November 1887 | Darwen | 2 | - | 0 | Church | |
| 5 November 1887 | Derby County | 6 | - | 0 | Ecclesfield | |
| 5 November 1887 | Derby Junction | 3 | - | 2 | Rotherham Town | |
| 5 November 1887 | Distillery | 2 | - | 4 | Witton | |
| 5 November 1887 | Dulwich | 2 | - | 1 | Hotspur | |
| 5 November 1887 | Fleetwood Rangers | 1 | - | 3 | Higher Walton | |
| 5 November 1887 | Lincoln City | 2 | - | 1 | Gainsborough Trinity | |
| 5 November 1887 | Long Eaton Rangers | 1 | - | 2 | The Wednesday | |
| 5 November 1887 | Marlow | 2 | - | 3 | Old Foresters | |
| 5 November 1887 | Middlesbrough | 4 | - | 1 | South Bank | |
| 5 November 1887 | Mitchell St George's | 0 | - | 1 | West Bromwich Albion | |
| 5 November 1887 | Northwich Victoria | 0 | - | 1 | Crewe Alexandra | |
| 5 November 1887 | Nottingham Forest | 2 | - | 0 | Mellors | |
| Walkover | Notts County | | | | Basford Rovers | Scratched |
| 5 November 1887 | Notts Rangers | 4 | - | 0 | Grantham | |
| 5 November 1887 | Old Etonians | 3 | - | 2 | Old St Mark's | |
| 5 November 1887 | Old Harrovians | 0 | - | 4 | Old Brightonians | |
| 5 November 1887 | Old Westminsters | 8 | - | 1 | Millwall Rovers | |
| 5 November 1887 | Over Wanderers | 0 | - | 2 | Stoke | |
| 5 November 1887 | Owlerton | 1 | - | 0 | Sheffield Heeley | |
| 26 November 1887 | Preston North End | 6 | - | 0 | Everton | Match declared void |
| 10 December 1887 | Preston North End | 9 | - | 1 | Bolton Wanderers | |
| 5 November 1887 | Small Heath Alliance | 0 | - | 4 | Aston Villa | |
| 5 November 1887 | Sunderland | 3 | - | 1 | Newcastle West End | |
| 5 November 1887 | Watford Rovers | 1 | - | 3 | Old Carthusians | |
| 5 November 1887 | Wolverhampton Wanderers | 3 | - | 0 | Aston Shakespeare | |
| 5 November 1887 | Wrexham Olympic | 1 | - | 2 | Davenham | |
| Bye | Birmingham Excelsior | | | | | |
| Bye | Grimsby Town | | | | | |
| Bye | Lockwood Brothers | | | | | |
| Bye | Oswestry Town | | | | | |
| Bye | Shankhouse | | | | | |
| Bye | Swifts | | | | | |
| Replay |
| 12 November 1887 | South Shore | 0 | - | 3 | Bootle | |
| Third round |
| 26 November 1887 | Accrington | 1 | - | 3 | Blackburn Rovers | |
| 26 November 1887 | Crusaders | 4 | - | 0 | Chatham | |
| 26 November 1887 | Darlington | 0 | - | 2 | Shankhouse | |
| 26 November 1887 | Darwen | 1 | - | 1 | Witton | |
| 19 November 1887 | Davenham | 2 | - | 2 | Chirk | |
| 26 November 1887 | Derby County | 6 | - | 2 | Owlerton | |
| 19 November 1887 | Derby Junction | 2 | - | 1 | Lockwood Brothers | |
| 26 November 1887 | Dulwich | 1 | - | 3 | Swifts | |
| 26 November 1887 | Great Bridge Unity | 2 | - | 1 | Birmingham Excelsior | |
| 26 November 1887 | Grimsby Town | 2 | - | 0 | Lincoln City | |
| 26 November 1887 | Higher Walton | 1 | - | 6 | Bootle | |
| 26 November 1887 | Middlesbrough | 2 | - | 2 | Sunderland | |
| 26 November 1887 | Nottingham Forest | 2 | - | 1 | Notts County | |
| 24 November 1887 | Old Carthusians | 5 | - | 0 | Old Brightonians | |
| 26 November 1887 | Old Etonians | 7 | - | 2 | Old Westminsters | |
| 3 December 1887 | Preston North End | 4 | - | 0 | Halliwell | |
| 26 November 1887 | Stoke | 3 | - | 0 | Oswestry Town | |
| 26 November 1887 | West Bromwich Albion | 2 | - | 0 | Wolverhampton Wanderers | |
| Bye | Aston Villa | | | | | |
| Bye | Crewe Alexandra | | | | | |
| Bye | Notts Rangers | | | | | |
| Bye | Old Foresters | | | | | |
| Bye | The Wednesday | | | | | |
| Replays |
| 26 November 1887 | Chirk | 6 | - | 1 | Davenham | |
| 3 December 1887 | Sunderland | 4 | - | 2 | Middlesbrough | Sunderland disqualified for professionalism after protest - Middlesbrough reinstated |
| 3 December 1887 | Witton | 0 | - | 2 | Darwen | |
| Fourth round |
| 10 December 1887 | Crewe Alexandra | 2 | - | 2 | Swifts | |
| 17 December 1887 | Crusaders | 0 | - | 1 | The Wednesday | |
| 17 December 1887 | Darwen | 3 | - | 1 | Notts Rangers | |
| 17 December 1887 | Great Bridge Unity | 1 | - | 2 | Bootle | |
| 17 December 1887 | Nottingham Forest | 6 | - | 0 | Old Etonians | |
| 17 December 1887 | Old Foresters | 4 | - | 2 | Grimsby Town | |
| 17 December 1887 | Shankhouse | 0 | - | 9 | Aston Villa | |
| Bye | Blackburn Rovers | | | | | |
| Bye | Chirk | | | | | |
| Bye | Derby County | | | | | |
| Bye | Derby Junction | | | | | |
| Bye | Middlesbrough | | | | | |
| Bye | Old Carthusians | | | | | |
| Bye | Preston North End | | | | | |
| Bye | Stoke | | | | | |
| Bye | West Bromwich Albion | | | | | |
| Fifth round |
| 7 January 1888 | Aston Villa | 1 | - | 3 | Preston North End | |
| 31 December 1887 | Chirk | 0 | - | 1 | Derby Junction | |
| 7 January 1888 | Crewe Alexandra | 1 | - | 0 | Derby County | |
| 7 January 1888 | Darwen | 0 | - | 3 | Blackburn Rovers | |
| 7 January 1888 | Middlesbrough | 4 | - | 0 | Old Foresters | |
| 7 January 1888 | Nottingham Forest | 2 | - | 4 | The Wednesday | |
| 7 January 1888 | Old Carthusians | 2 | - | 0 | Bootle | |
| 7 January 1888 | West Bromwich Albion | 4 | - | 1 | Stoke | |
| Quarter-final |
| 28 January 1888 | Derby Junction | 2 | - | 1 | Blackburn Rovers | |
| 28 January 1888 | Middlesbrough | 0 | - | 2 | Crewe Alexandra | |
| 30 January 1888 | The Wednesday | 1 | - | 3 | Preston North End | |
| 28 January 1888 | West Bromwich Albion | 4 | - | 2 | Old Carthusians | |
| Semi-final |
| 18 February 1888 | Preston North End | 4 | - | 0 | Crewe Alexandra | Played at Anfield, Liverpool |
| 18 February 1888 | West Bromwich Albion | 3 | - | 0 | Derby Junction | Played at Victoria Ground, Stoke |
| Final |
| 24 March 1888 | West Bromwich Albion | 2 | - | 1 | Preston North End | Played at Kennington Oval, London |
| 19,000 | Woodhall, Bayliss | | | | Dewhurst | Referee: Francis Marindin |
| |