2003–04 Taça de Portugal

The 2003–04 Taça de Portugal was the 64th edition of the Portuguese football knockout tournament organized by the Portuguese Football Federation (FPF). This edition of the Taça de Portugal began on 7 September 2003, and concluded on 16 May 2004 with the final at the Estádio Nacional.

Porto were the previous holders, having defeated União de Leiria 1–0 in the previous season's final. Benfica defeated Porto, 2–1 in the final to win their twenty fourth Taça de Portugal, dedicated to Miklós Fehér. Benfica's cup success would gain them qualification to the 2004 Supertaça Cândido de Oliveira.

Format and schedule

 * 1. One hundred and sixteen of the one hundred and eighteen teams competing in the 2003–04 Terceira Divisão, played in this round. Benfica B were unable to compete in the domestic cup competition due to the possibility of encountering their senior side in the competition. Queluz also did not participate.
 * 2. Fifty four of the fifty nine teams competing in the 2003–04 Segunda Divisão, played in this round. Académica de Coimbra B, Braga B, Marítimo B, Porto B and Sporting CP B were unable to compete in the domestic cup competition due to the possibility of encountering their senior side in the competition. Queluz also did not participate.

Primeira Liga

 * Académica de Coimbra
 * Alverca
 * Beira-Mar
 * Belenenses
 * Benfica
 * Boavista
 * Braga
 * Estrela da Amadora
 * Gil Vicente


 * Marítimo
 * Moreirense
 * Nacional
 * Paços de Ferreira
 * Porto
 * Rio Ave
 * Sporting CP
 * União de Leiria
 * Vitória de Guimarães

Liga de Honra

 * Chaves
 * Desportivo das Aves
 * Estoril
 * Feirense
 * Felgueiras
 * Leixões
 * Maia
 * Marco
 * Naval
 * Ovarense


 * Penafiel
 * Portimonense
 * Rabo de Peixe
 * Salgueiros
 * Santa Clara
 * Sporting da Covilhã
 * União da Madeira
 * Varzim
 * Vitória de Setúbal

Second Division

 * North Zone


 * Bragança
 * Caçadores das Taipas
 * Dragões Sandinenses
 * Ermesinde
 * Fafe
 * Freamunde
 * Gondomar
 * Infesta
 * Leça


 * Lixa
 * Lousada
 * Paredes
 * Pedras Rubras
 * Trofense
 * Valdevez
 * Vilanovense
 * Vizela


 * Central Zone


 * Académico de Viseu
 * Águeda
 * Alcains
 * Caldas
 * Esmoriz
 * Estarreja
 * Fátima
 * Marinhense
 * Oliveira do Bairro
 * Oliveira do Hospital


 * Oliveirense
 * Pampilhosa
 * Portomosense
 * Sanjoanense
 * Sporting de Espinho
 * Sporting de Pombal
 * Torreense
 * União de Lamas
 * Vilafranquense


 * South Zone


 * Amora
 * Barreirense
 * Camacha
 * Estrela Vendas Novas
 * Farense
 * Louletano
 * Lusitânia
 * Mafra
 * Odivelas


 * Olhanense
 * Olivais e Moscavide
 * Oriental
 * Pinhalnovense
 * Pontassolense
 * Ribeira Brava
 * Santo António
 * Sintrense
 * União Micaelense

Third Division

 * Série A


 * Amares
 * Cabeceirense
 * Cerveira
 * Esposende
 * Joane
 * Juventude de Ronfe
 * Maria da Fonte
 * Mirandela
 * Monção


 * Montalegre
 * Os Sandinenses
 * Ponte da Barca
 * Rebordelo
 * Santa Maria
 * Valenciano
 * Valpaços
 * Vianense
 * Vilaverdense


 * Série B


 * AD Oliveirense
 * Aliados Lordelo
 * Canelas
 * Cinfães
 * Famalicão
 * Fiães
 * Lourosa
 * Nogueirense
 * Paços de Brandão


 * Pedrouços
 * Rebordosa
 * Régua
 * Ribeirão
 * Rio Tinto
 * São Pedro da Cova
 * Tirsense
 * Torre de Moncorvo
 * Vila Real


 * Série C


 * Aguiar da Beira
 * Anadia
 * Arouca
 * Arrifanense
 * Cesarense
 * Fornos de Algodres
 * Gafanha
 * Mangualde
 * Milheiroense


 * Penalva do Castelo
 * Santacombadense
 * São João de Ver
 * Sátão
 * Social Lamas
 * Tocha
 * Tourizense
 * União de Coimbra
 * Valecambrense


 * Série D


 * Abrantes
 * Alcobaça
 * Alqueidão da Serra
 * Atlético Riachense
 * Benfica Castelo Branco
 * Beneditense
 * Bidoeirense
 * Caranguejeira
 * Fazendense


 * Idanhense
 * Lourinhanense
 * Mirense
 * Peniche
 * Rio Maior
 * Sertanense
 * Sourense
 * Torres Novas
 * União Almeirim


 * Série E


 * 1º de Dezembro
 * Alcochetense
 * Benavilense
 * Câmara de Lobos
 * Carregado
 * Casa Pia
 * Loures
 * Machico


 * Malveira
 * Montijo
 * O Elvas
 * Portosantense
 * Sacavenense
 * Santacruzense
 * Santana
 * Vialonga


 * Série F


 * Almancilense
 * Atlético CP
 * Beira-Mar de Monte Gordo
 * Desportivo de Beja
 * Esperança de Lagos
 * Fabril Barreiro
 * Imortal
 * Juventude de Évora
 * Lusitano VRSA


 * Messinense
 * Monte Trigo
 * Moura
 * Quarteirense
 * Seixal
 * Sesimbra
 * Silves
 * União Santiago
 * Vasco da Gama AC


 * Série Azores


 * Angrense
 * Barreiro
 * Boavista Flores
 * Madalena
 * Mira Mar


 * Operário
 * Praiense
 * Santiago
 * Sporting de Ideal
 * Velense

District Leagues

 * Águias de Alpiarça
 * Águias do Moradal
 * Atei
 * Avintes
 * Bombarralense
 * CF Vasco da Gama
 * Eléctrico
 * Estrela da Calheta
 * Fayal
 * Ginásio Figueirense


 * Lagoa
 * Macedo de Cavaleiros
 * Moitense
 * Neves
 * Os Leões
 * Paivense
 * Penelense
 * UD Valonguense
 * União de Montemor
 * União Torcatense

First round
For the first round draw, teams were drawn against each other in accordance to their geographical location. The draw was split up into four sections: teams from the north, the center, the south and the Azores region. All first round cup ties were played on the 7 September. Due to the odd number of teams at this stage of the competition, Rabo de Peixe progressed to the next round due to having no opponent to face at this stage of the competition. The first round of the cup saw teams from the Terceira Divisão (IV) start the competition alongside some teams who registered to participate in the cup from the Portuguese District Leagues (V).

Second round
For the second round draw, teams were drawn against each other in accordance to their geographical location. The draw was split up into three sections: teams from the north, the center and the south. Ties were played on the 28 September. The second round saw teams from the Portuguese Second Division (III) enter the competition.

Third round
The draw for the third round took place on the 2 October. Ties were played on the 11–12 October. The third round saw teams from the Liga de Honra (II) enter the competition.

Fourth round
All fourth round cup ties were played on the 22–23 November. The fourth round saw teams from the Primeira Liga (I) enter the competition.

Fifth round
Ties were played on the 17 December. Felgueiras won their fifth round cup tie against Vilafranquense, but their win was overturned and Vilafranquense progressed to the next round due to Felgueiras' coach appearing at the tie to manage his side when he was supposed to be suspended. Due to the odd number of teams involved at this stage of the competition, Braga qualified for the quarter-finals due to having no opponent to face at this stage of the competition.

Sixth round
Ties were played on the 14–21 January. Due to the odd number of teams involved at this stage of the competition, Benfica qualified for the quarter-finals due to having no opponent to face at this stage of the competition.

Quarter-finals
All quarter-final ties were played on the 11 February.

Semi-finals
Ties were played on the 16–17 March.