# | Season | Winners | Score | Losers | Notes | 1 | 1888–89 | Clapton | 4–0 | Phoenix |
2 | 1889–90 | London Caledonians | 3–1 | Crouch End |
3 | 1890–91 | London Caledonians | 1–1 | Uxbridge |
Replay | London Caledonians | 2–0 | Uxbridge |
4 | 1891–92 | 2nd Battalion Scots Guards | 4–2 | 1st Battalion Scots Guards |
5 | 1892–93 | 2nd Battalion Scots Guards | 2–1 | Uxbridge |
6 | 1893–94 | Uxbridge | 2–0 | 3rd Battalion Grenadier Guards |
7 | 1894–95 | 2nd Battalion Scots Guards | 5–1 | London Welsh |
8 | 1895–96 | Uxbridge | 1–1 | Southall |
Replay | Uxbridge | 3–2 | Southall |
9 | 1896–97 | Ealing | 2–1 | 3rd Battalion Grenadier Guards |
10 | 1897–98 | Brentford | 2–3 | 2nd Battalion Scots Guards |
Replay | Brentford | 3–2 | 2nd Battalion Scots Guards |
11 | 1898–99 | London Caledonians | 0–0 | West Hampstead |
11 | Replay | London Caledonians | 5–0 | West Hampstead |
12 | 1899–1900 | London Caledonians | 4–0 | Crouch End Vampires |
13 | 1900–01 | West Hampstead | 2–2 | London Caledonians |
Replay | West Hampstead | 3–2 | London Caledonians |
14 | 1901–02 | Richmond Association | 1–0 | Ealing |
15 | 1902–03 | Shepherd's Bush | 4–1 | West Hampstead |
16 | 1903–04 | Richmond Association | 0–0 | Shepherd's Bush |
Replay | Richmond Association | 1–0 | Shepherd's Bush |
17 | 1904–05 | Ealing | 1–0 | London Caledonians |
18 | 1905–06 | West Hampstead | 2–0 | 2nd Battalion Grenadier Guards |
19 | 1906–07 | New Crusaders | 3–0 | West Hampstead |
20 | 1907–08 | Southall | 3–0 | Hanwell |
21 | 1908–09 | 1st Battalion Scots Guards | 4–0 | West Hampstead |
22 | 1909–10 | Shepherd's Bush | 4–0 | Staines |
23 | 1910–11 | Southall | 1–0 | Enfield |
24 | 1911–12 | Southall | 3–1 | Lotus |
25 | 1912–13 | Southall | 2–0 | West London Old Boys |
26 | 1913–14 | Enfield | 2–0 | Uxbridge |
27 | 1919–20 | Botwell Mission | 3–1 | Southall |
28 | 1920–21 | Botwell Mission | 3–0 | Enfield |
29 | 1921–22 | RAF Uxbridge | 2–1 | Barnet |
30 | 1922–23 | Southall | 2–1 | Botwell Mission |
31 | 1923–24 | Southall | 3–1 | Wealdstone |
32 | 1924–25 | Southall | 5–0 | Hampstead Town |
33 | 1925–26 | Botwell Mission | 2–1 | Barnet |
34 | 1926–27 | Southall | 2–1 | Uxbridge |
35 | 1927–28 | Metropolitan Police | 3–0 | RAF Uxbridge |
36 | 1928–29 | Finchley | 2–0 | Southall |
37 | 1929–30 | Wealdstone | 2–2 | Haywards Sports (Enfield) |
Replay | Wealdstone | 3–1 | Haywards Sports (Enfield) |
38 | 1930–31 | Hayes | 4–1 | Hampstead |
39 | 1931–32 | Barnet | 0–2 | Park Royal |
Replay | Barnet | 4–3 | Park Royal | Replayed after protest |
40 | 1932–33 | Barnet | 1–1 | Staines Town |
Replay | Barnet | 3–1 | Staines Town |
41 | 1933–34 | Golders Green | 2–0 | Park Royal |
42 | 1934–35 | London Caledonians | 2–0 | Uxbridge |
43 | 1935–36 | Hayes | 2–1 | Finchley |
44 | 1936–37 | Southall | 1–0 | Hayes |
45 | 1937–38 | Wealdstone | 3–1 | Tufnell Park |
46 | 1938–39 | Golders Green | 4–0 | Wealdstone |
47 | 1939–40 | Hayes | 1–0 | Finchley |
48 | 1940–41 | Wealdstone | 3–1 | Pinner |
49 | 1941–42 | Wealdstone | 4–1 | Finchley |
50 | 1942–43 | Wealdstone | 3–3 | Finchley |
Replay | Wealdstone | 3–0 | Finchley |
51 | 1943–44 | Finchley | 3–0 | Acton Town |
52 | 1944–45 | Southall | 3–1 | Golders Green |
53 | 1945–46 | Wealdstone | 2–0 | Edgware Town |
54 | 1946–47 | Enfield | 1–0 | Hendon |
55 | 1947–48 | Edgware Town | 2–1 | Enfield |
56 | 1948–49 | Hounslow | 1–0 | Hayes |
57 | 1949–50 | Hayes | 2–1 | Hounslow |
58 | 1950–51 | Uxbridge | 2–1 | Hayes |
59 | 1951–52 | Finchley | 3–0 | Enfield |
60 | 1952–53 | Hounslow | 3–1 | Finchley |
61 | 1953–54 | Southall | 3–0 | Edgware Town |
62 | 1954–55 | Southall | 4–0 | Uxbridge |
63 | 1955–56 | Hendon | 5–1 | Wembley |
64 | 1956–57 | Hounslow Town | 1–0 | Hendon |
65 | 1957–58 | Hendon | 3–0 | Enfield |
66 | 1958–59 | Wealdstone | 3–1 | Enfield |
67 | 1959–60 | Hendon | 2–1 | Enfield |
68 | 1960–61 | Hounslow Town | 0–0 | Hendon |
Replay | Hounslow Town | 3–2 aet | Hendon |
69 | 1961–62 | Enfield | 4–1 | Wealdstone |
70 | 1962–63 | Wealdstone | 2–0 | Enfield |
71 | 1963–64 | Wealdstone | 2–0 | Finchley |
72 | 1964–65 | Hendon | 1–0 | Finchley |
73 | 1965–66 | Enfield | 4–1 | Wealdstone | On aggregate over two legs |
74 | 1966–67 | Hendon | 4–1 | Enfield | On aggregate over two legs |
75 | 1967–68 | Wealdstone | 3–1 | Hayes | On aggregate over two legs |
76 | 1968–69 | Enfield | 6–0 | Wembley | On aggregate over two legs |
77 | 1969–70 | Enfield | 3–2 | Wealdstone | On aggregate over two legs |
78 | 1970–71 | Enfield | 3–0 | Hendon | On aggregate over two legs |
79 | 1971–72 | Hendon | 5–2 | Hampton | On aggregate over two legs |
80 | 1972–73 | Hendon | 3–3 | Enfield | On aggregate over two legs |
Replay | Hendon | 3–0 | Enfield |
81 | 1973–74 | Hendon | 4–1 | Edgware Town | On aggregate over two legs |
82 | 1974–75 | Staines Town | 1–1 | Hendon |
Replay | Staines Town | 1–0 | Hendon |
83 | 1975–76 | Staines Town | 2–0 | Enfield |
84 | 1976–77 | Staines Town | 3–2 | Hampton |
85 | 1977–78 | Enfield | 2–0 | Hendon |
86 | 1978–79 | Enfield | 2–0 | Wembley |
87 | 1979–80 | Enfield | 2–0 | Staines Town |
88 | 1980–81 | Enfield | 2–0 | Hayes |
89 | 1981–82 | Hayes | 2–0 | Wealdstone |
90 | 1982–83 | Harrow Borough | 2–0 | Wealdstone |
91 | 1983–84 | Wembley | 5–1 | Hendon |
92 | 1984–85 | Wealdstone | 4–2 | Enfield |
93 | 1985–86 | Hendon | 2–0 aet | Southall |
94 | 1986–87 | Wembley | 1–0 | Hayes |
95 | 1987–88 | Staines Town | 2–1 aet | Wembley |
96 | 1988–89 | Enfield | 2–1 | Kingsbury Town |
97 | 1989–90 | Staines Town | 1–0 | Yeading |
98 | 1990–91 | Enfield | 1–0 | Yeading |
99 | 1991–92 | Yeading | 2–1 | Wembley |
100 | 1992–93 | Harrow Borough | 1–0 | Wembley |
101 | 1993–94 | Staines Town | 2–1 | Edgware Town |
102 | 1994–95 | Yeading | 2–0 aet | Staines Town |
103 | 1995–96 | Hayes | 3–2 aet | Hampton |
104 | 1996–97 | Staines Town | 0–0 aet | Yeading |
| Staines win 6–5 on penalties |
105 | 1997–98 | Enfield | 3–2 | Uxbridge |
106 | 1998–99 | Hendon | 2–2 | Wembley |
| Hendon win 4–2 on penalties |
107 | 1999–2000 | Hayes | 2–0 | Northwood |
108 | 2000–01 | Uxbridge | 3–0 | Harrow Borough |
109 | 2001–02 | Hendon | 4–2 aet | Northwood |
110 | 2002–03 | Hendon | 2–0 | Enfield Town |
111 | 2003–04 | Hendon | 3–1 aet | Uxbridge |
112 | 2004–05 | Yeading | 3–1 | Hampton & Richmond Borough |
113 | 2005–06 | Hampton & Richmond Borough | 0–0 aet | Hayes |
| Hampton & Richmond Borough win 4–3 on penalties |
114 | 2006–07 | Northwood | 1–1 aet | Hayes |
| Northwood won 4–2 on penalties |
115 | 2007–08 | Hampton & Richmond Borough | 3–0 | Hendon |
116 | 2008–09 | AFC Hayes | 2–1 | Hendon |
117 | 2009–10 | Staines Town | 2–0 | Uxbridge |
118 | 2010–11 | Staines Town | 3–2 | Hayes & Yeading United |
119 | 2011–12 | Hampton & Richmond Borough | 2-0 | Wealdstone |
120 | 2012–13 | Staines Town | 2-0 | Ashford Town (Middlesex) |
121 | 2013–14 | Hampton & Richmond Borough | 3–2 | Wealdstone |
122 | 2014–15 | Harrow Borough | 1–0 | Hanwell Town |
123 | 2015–16 | Northwood | 2–0 | Enfield Town |
124 | 2016–17 | Hampton & Richmond Borough | 1–0 | Wealdstone |
125 | 2017-18 | Hendon | 0-0 | Staines Town |
| Hendon won 5-4 on penalties |