The Football Association of Wales Welsh Cup was inagurated in 1877 in the same manner as the F.A. Cup in England. It survives to this day as the primary knock-out competition in the Principality, with European qualification for the winners, but the clubs playing in the English league system have been prevented from competing in the Welsh Cup in recent years.
| Season | Winner | Runner-up | Result | In FCHD |
| 1877-78 | Wrexham | Druids | 1-0 | From SF |
| 1878-79 | Newtown White Stars | Wrexham | 1-0 | From SF |
| 1879-80 | Druids | Ruthin | 2-1 | From SF |
| 1880-81 | Druids | Newtown White Stars | 2-0 | From SF |
| 1881-82 | Druids | Northwich Victoria | 5-0 | From SF |
| 1882-83 | Wrexham | Druids | 1-0 | From SF |
| 1883-84 | Oswestry White Star | Druids | 0-0, rep 1-0 | From SF |
| 1884-85 | Druids | Oswestry White Star | 1-1, rep 3-1 | From SF |
| 1885-86 | Druids | Newtown | 4-0 | From SF |
| 1886-87 | Chirk | Davenham | 2-1 | From SF |
| 1887-88 | Chirk | Newtown | 5-0 | From SF |
| 1888-89 | Bangor | Northwich Victoria | 2-1 | From SF |
| 1889-90 | Chirk | Wrexham | 1-0 | From SF |
| 1890-91 | Shrewsbury Town | Wrexham | 5-2 | From SF |
| 1891-92 | Chirk | Westminster Rovers | 2-1 | From SF |
| 1892-93 | Wrexham | Chirk | 2-1 | From SF |
| 1893-94 | Chirk | Westminster Rovers | 2-0 | From SF |
| 1894-95 | Newtown | Wrexham | 3-2 | From SF |
| 1895-96 | Bangor | Wrexham | 3-1 | From SF |
| 1896-97 | Wrexham | Newtown | 2-0 | From SF |
| 1897-98 | Druids | Wrexham | 1-1, rep 2-1 | From SF |
| 1898-99 | Druids | Wrexham | 2-2, rep 1-0 | From SF |
| 1899-00 | Aberystwyth | Druids | 3-0 | From SF |
| 1900-01 | Oswestry United | Druids | 1-0 | From SF |
| 1901-02 | Wellington Town | Wrexham | 1-0 | From SF |
| 1902-03 | Wrexham | Aberaman Athletic | 8-0 | From SF |
| 1903-04 | Druids | Aberdare Athletic | 3-2 | From SF |
| 1904-05 | Wrexham | Aberdare Athletic | 3-0 | From SF |
| 1905-06 | Wellington Town | Whitchurch | 3-2 | From SF |
| 1906-07 | Oswestry United | Whitchurch | 2-0 | From SF |
| 1907-08 | Chester | Connah's Quay & Shotton | 3-1 | From SF |
| 1908-09 | Wrexham | Chester | 1-0 | From SF |
| 1909-10 | Wrexham | Chester | 2-1 | From SF |
| 1910-11 | Wrexham | Connah's Quay & Shotton | 6-0 | From SF |
| 1911-12 | Cardiff City | Pontypridd | 0-0, rep 3-0 | From SF |
| 1912-13 | Swansea Town | Pontypridd | 0-0, rep 1-0 | From SF |
| 1913-14 | Wrexham | Llanelli | 0-0, rep 3-0 | From SF |
| 1914-15 | Wrexham | Swansea Town | 1-1, rep 1-0 | From SF |
| 1915-19 | Not held due to World War I | |||
| 1919-20 | Cardiff City | Wrexham | 2-1 | From SF |
| 1920-21 | Wrexham | Pontypridd | 1-1, 3-1 | From SF |
| 1921-22 | Cardiff City | Ton Pentre | 2-0 | From SF |
| 1922-23 | Cardiff City | Aberdare Athletic | 3-2 | From SF |
| 1923-24 | Wrexham | Merthyr Tydfil | 2-2, rep 1-0 | From SF |
| 1924-25 | Wrexham | Fflint | 3-1 | From SF |
| 1925-26 | Ebbw Vale | Swansea Town | 3-2 | From SF |
| 1926-27 | Cardiff City | Rhyl | 2-0 | From SF |
| 1927-28 | Cardiff City | Bangor City | 2-0 | From SF |
| 1928-29 | Connah's Quay & Shotton | Cardiff City | 3-0 | From SF |
| 1929-30 | Cardiff City | Rhyl | 0-0, rep 4-2 | From SF |
| 1930-31 | Wrexham | Shrewsbury Town | 7-0 | From SF |
| 1931-32 | Swansea Town | Wrexham | 1-1, rep 2-0 | From SF |
| 1932-33 | Chester | Wrexham | 2-0 | From SF |
| 1933-34 | Bristol City | Tranmere Rovers | 1-1, rep 3-0 | From SF |
| 1934-35 | Tranmere Rovers | Chester | 1-0 | From SF |
| 1935-36 | Crewe Alexandra | Chester | 2-0 | From SF |
| 1936-37 | Crewe Alexandra | Rhyl | 1-1, rep 3-1 | From SF |
| 1937-38 | Shrewsbury Town | Swansea Town | 2-2, rep 2-1 | From SF |
| 1938-39 | South Liverpool | Cardiff City | 2-1 | From SF |
| 1939-40 | Wellington Town | Swansea Town | 4-0 | From SF |
| 1940-46 | Competition not held due to World War II | |||
| 1946-47 | Chester | Merthyr Tydfil | 0-0, rep 5-1 | From SF |
| 1947-48 | Lovell's Athletic | Shrewsbury Town | 3-0 | From SF |
| 1948-49 | Merthyr Tydfil | Swansea Town | 2-0 | From SF |
| 1949-50 | Swansea Town | Wrexham | 4-1 | From SF |
| 1950-51 | Merthyr Tydfil | Cardiff City | 1-1, rep 3-2 | From SF |
| 1951-52 | Rhyl | Merthyr Tydfil | 4-3 | From SF |
| 1952-53 | Rhyl | Chester | 2-1 | From SF |
| 1953-54 | Fflint Town United | Chester | 2-0 | From SF |
| 1954-55 | Barry Town | Chester | 1-1, rep 4-3 | From SF |
| 1955-56 | Cardiff City | Swansea Town | 3-2 | From SF |
| 1956-57 | Wrexham | Swansea Town | 2-1 | From SF |
| 1957-58 | Wrexham | Chester | 1-1, rep 2-1 | From SF |
| 1958-59 | Cardiff City | Lovell's Athletic | 2-0 | From SF |
| 1959-60 | Wrexham | Cardiff City | 1-1, rep 1-0 | From SF |
| 1960-61 | Swansea Town | Bangor City | 3-1 | From SF |
| 1961-62 | Bangor City | Wrexham | Points 2-2, play-off 3-1 | From SF |
| 1962-63 | Borough United | Newport County | Points 3-1 | From SF |
| 1963-64 | Cardiff City | Bangor City | Points 2-2, play-off 2-0 | From SF |
| 1964-65 | Cardiff City | Wrexham | Points 2-2, play-off 3-0 | From SF |
| 1965-66 | Swansea Town | Chester | Points 2-2, play-off 2-1 | From SF |
| 1966-67 | Cardiff City | Wrexham | Points 3-1 | From SF |
| 1967-68 | Cardiff City | Hereford United | Points 4-0 | From SF |
| 1968-69 | Cardiff City | Swansea Town | Points 4-0 | From SF |
| 1969-70 | Cardiff City | Chester | Points 4-0 | From SF |
| 1970-71 | Cardiff City | Wrexham | Points 4-0 | From SF |
| 1971-72 | Wrexham | Cardiff City | Agg 3-2 | From SF |
| 1972-73 | Cardiff City | Bangor City | Agg 5-1 | From SF |
| 1973-74 | Cardiff City | Stourbridge | Agg 2-0 | From SF |
| 1974-75 | Wrexham | Cardiff City | Agg 5-2 | From SF |
| 1975-76 | Cardiff City | Hereford United | Agg 6-5 | From SF |
| 1976-77 | Shrewsbury Town | Cardiff City | Agg 4-2 | From SF |
| 1977-78 | Wrexham | Bangor City | Agg 3-1 | From SF |
| 1978-79 | Shrewsbury Town | Wrexham | Agg 2-1 | From SF |
| 1979-80 | Newport County | Shrewsbury Town | Agg 5-1 | From SF |
| 1980-81 | Swansea City | Hereford United | Agg 2-1 | From SF |
| 1981-82 | Swansea City | Cardiff City | Agg 2-1 | From SF |
| 1982-83 | Swansea City | Wrexham | Agg 4-1 | From SF |
| 1983-84 | Shrewsbury Town | Wrexham | Agg 2-1 | From SF |
| 1984-85 | Shrewsbury Town | Bangor City | Agg 5-1 | From SF |
| 1985-86 | Wrexham | Kidderminster Harriers | 1-1, rep 2-1 | From SF |
| 1986-87 | Merthyr Tydfil | Newport County | 2-2, rep 1-0 | From SF |
| 1987-88 | Cardiff City | Wrexham | 2-0 | From SF |
| 1988-89 | Swansea City | Kidderminster Harriers | 5-0 | From SF |
| 1989-90 | Hereford United | Wrexham | 2-1 | From SF |
| 1990-91 | Swansea City | Wrexham | 2-0 | From SF |
| 1991-92 | Cardiff City | Rhyl | 5-0 | From SF |
| 1992-93 | Cardiff City | Rhyl | 5-0 | From SF |
| 1993-94 | Barry Town | Cardiff City | 2-1 | From SF |
| 1994-95 | Wrexham | Cardiff City | 2-1 | From QF |
| 1995-96 | Llansantffraid | Barry Town | 3-3, 3-2 pens | From QF |
| 1996-97 | Barry Town | Cwmbran Town | 2-1 | From QF |
| 1997-98 | Bangor City | Connah's Quay Nomads | 1-1, 4-2 pens | From QF |
| 1998-99 | Inter Cable-Tel | Carmarthen Town | 1-1, 4-2 pens | From QF |
| 1999-00 | Bangor City | Cwmbran Town | 1-0 | From QF |
| 2000-01 | Barry Town | Total Network Solutions | 2-0 | From QF |
| 2001-02 | Barry Town | Bangor City | 4-1 | From QF |
| 2002-03 | Barry Town | Cwmbran Town | 2-2, 4-3 pens | From QF |
| 2003-04 | Rhyl | Total Network Solutions | 1-0 | From QF |
| 2004-05 | Total Network Solutions | Carmarthen Town | 1-0 | From QF |
| 2005-06 | Rhyl | Bangor City | 2-0 | From QF |
| 2006-07 | Carmarthen Town | Afan Lido | 3-2 | From QF |
| 2007-08 | Bangor City | Llanelli | 4-2 | From QF |