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. 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

Teams

Primeira Liga

;North Zone
;Central Zone
;South Zone
;Série A
;Série B
;Série C
;Série D
;Série E
;Série F
;Série Azores
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 Portuguese Third Division start the competition alongside some teams who registered to participate in the cup from the Portuguese District Leagues.

North Zone

Home teamScoreAway team
AD Oliveirense Joane
Atei Amares
Avintes Ponte da Barca
Cabeceirense Macedo de Cavaleiros
Canelas Neves
Cerveira Pedrouços
Cinfães Régua
Esposende Paivense
Famalicão Aliados Lordelo
Juventude de Ronfe Mirandela
Monção Vilaverdense

Home teamScoreAway team
Os Sandinenses Valpaços
Paços de Brandão Fiães
Rebordelo Montalegre
Rebordosa Rio Tinto
Ribeirão Tirsense
Santa Maria União Torcatense
São Pedro da Cova Vianense
Torre de Moncorvo Maria da Fonte
Valenciano Nogueirense
Vila Real Lourosa

Central Zone

Home teamScoreAway team
Águias Alpiarça Cesarense
Aguiar da Beira Atlético Riachense
Alqueidão da Serra Benfica Castelo Branco
Anadia Águias do Moradal
Arouca União de Almeirim
Arrifanense Bombarralense
Bidoeirense Caranguejeira
Fornos de Algodres Abrantes
Gafanha Valecambrense
Idanhense Tourizense
Lourinhanense Beneditense

Home teamScoreAway team
Mangualde Sourense
Milheiroense Ginásio Figueirense
Mirense Alcobaça
Penalva do Castelo Fazendense
Penelense Tocha
Peniche São João de Ver
Rio Maior Torres Novas
Sátão União de Coimbra
Sertanense UD Valonguense
Social Lamas Santacombadense

South Zone

Home teamScoreAway team
Beira-Mar de Monte Gordo 1º de Dezembro
Câmara de Lobos Sacavenense
Carregado Fabril Barreiro
CF Vasco da Gama Benavilense
Desportivo de Beja Portosantense
Eléctrico Olivais
Estrela da Calheta Lagoa
Imortal O Elvas
Loures Alcochetense
Lusitano VRSA Real

Home teamScoreAway team
Messinense Atlético CP
Monte Trigo Almancilense
Montijo Esperança de Lagos
Quarteirense Moura
Seixal Machico
Sesimbra Vialonga
Silves Santacruzense
União de Montemor Santana
União de Santiago Juventude de Évora
Vasco Gama AC Moitense

Azores Zone

Home teamScoreAway team
Barreiro Fayal
Madalena Os Leões
Mira Mar Operário

Home teamScoreAway team
Praiense Santiago
Sporting de Ideal Boavista Flores
Velense Angrense

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 enter the competition.

North Zone

Home teamScoreAway team
Avintes Neves
Bragança Ribeirão
Cabeceirense Dragões Sandinenses
Os Sandinenses Caçadores das Taipas
Ermesinde Amares
Freamunde Vila Real
Gondomar Santa Maria
Infesta Vilaverdense
Leça Montalegre

Home teamScoreAway team
Lixa AD Oliveirense
Nogueirense Lousada
Paredes Rebordosa
Pedras Rubras Vilanovense
Pedrouços F.C. Vizela
Torre de Moncorvo Mirandela
Trofense Famalicão
Valdevez Esposende
Vianense Fafe

Central Zone

Home teamScoreAway team
Académico de Viseu Tocha
Alcains Torreense
Alcobaça Oliveirense
Abrantes Penalva do Castelo
Bidoeirense Rio Maior
Idanhense Cinfães
Lourinhanense Benfica Castelo Branco
Marinhense Águeda
Milheiroense União de Lamas
Oliveira do Bairro Caldas
Paços de Brandão Águias de Alpiarça

Home teamScoreAway team
Pampilhosa Anadia
Portomosense Arouca
Sanjoanense Aguiar da Beira
Santacombadense Esmoriz
São João de Ver Arrifanense
Sátão Oliveira do Hospital
Sourense Gafanha
Sporting de Espinho Sporting de Pombal
UD Valonguense Fátima
Vilafranquense Estarreja

South Zone

Home teamScoreAway team
1º de Dezembro Monte Trigo
Amora Fabril Barreiro
Barreirense Imortal
Barreiro Sintrense
Câmara de Lobos Operário
CF Vasco da Gama Quarteirense
Estrela Vendas Novas União Micaelense
Farense Praiense
Louletano Estrela da Calheta
Loures Oriental
Lusitânia Portosantense
Madalena Atlético CP

Home teamScoreAway team
Mafra Montijo
Moitense Camacha
Odivelas Pontassolense
Olhanense Angrense
Pinhalnovense Olivais e Moscavide
Rabo Peixe Eléctrico
Real Seixal
Ribeira Brava Santiago
Santana Casa Pia
Santo António Silves
Sesimbra Sporting de Ideal

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 enter the competition.
Home teamScoreAway team
Estoril Penalva do Castelo
Felgueiras Santa Maria
1º de Dezembro Amora
Atlético CP Barreirense
Bragança Leça
Caldas Paredes
Câmara de Lobos Famalicão
CF Vasco da Gama Maia
Estrela Vendas Novas Lourinhanense
Fafe Esmoriz
Fátima Alcains
Feirense Caçadores das Taipas
Freamunde Mafra
Infesta Académico de Viseu
Lixa Vitória de Setúbal
Louletano Santa Clara
Lusitânia Oliveirense
Marco Torre de Moncorvo
Marinhense Cinfães
Moitense Sporting da Covilhã

Home teamScoreAway team
Naval Chaves
Nogueirense Cabeceirense
Odivelas Sourense
Olhanense Salgueiros
Ovarense Farense
Paços de Brandão Amares
Pampilhosa Desportivo das Aves
Pedrouços Pedras Rubras
Penafiel Sporting de Espinho
Portomosense Eléctrico
Rio Maior Casa Pia
Sanjoanense Pinhalnovense
Santo António Avintes
Sátão Leixões
Seixal Portimonense
Sporting Ideal São João de Ver
União da Madeira
União de Lamas Barreiro
Vilafranquense Valdevez
Varzim Santiago

Fourth round

All fourth round cup ties were played on the 22–23 November. The fourth round saw teams from the Primeira Liga enter the competition.
Home teamScoreAway team
Porto Boavista
Benfica Estrela da Amadora
1º de Dezembro Sporting CP
Académica de Coimbra Infesta
AD Oliveirense Penafiel
Alverca Vitória de Setúbal
Atlético CP Rio Ave
Belenenses Desportivo das Aves
Câmara de Lobos Nacional
Cinfães Paredes
Estoril Casa Pia
Fátima Vilafranquense
Felgueiras Sourense
Gil Vicente Sanjoanense
Leça Portomosense

Home teamScoreAway team
Leixões II)Naval
Lourinhanense Beira-Mar
Maia União da Madeira
Marítimo Feirense
Moreirense Fafe
Paços de Brandão Braga
Paços de Ferreira Ovarense
Pedrouços Louletano
Portimonense Nogueirense
Salgueiros Freamunde
Santo António Varzim
Sporting da Covilhã União de Leiria
União de Lamas Marco
Vitória de Guimarães São João de Ver

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.

Final