Os principais rios internacionais que atravessam Portugal são o Douro, o Tejo, o Guadiana e o Minho. Todos nascem em Espanha e, em parte do percurso, os seus troços constituem a fronteira entre os dois países. Entre os que correm exclusivamente em território português destacam-se o Mondego, o Vouga, o Sado e o Mira, embora existam outros rios internacionais, como o Lima.
Todos escoam para o Atlântico e muitos apresentam uma orientação geral de nordeste para sudoeste, embora existam exceções, como o Guadiana e o Sado. Os principais desaguam em estuários ou noutros ambientes de transição, alguns associados a importantes cidades e portos. O regime fluvial é irregular e apresenta uma marcada variação sazonal: os caudais são geralmente mais elevados no inverno, devido à maior precipitação, e diminuem no verão, período de estiagem. No Sul, esta irregularidade é mais acentuada.
A construção de barragens permitiu regularizar os caudais, armazenar água e produzir energia hidroelétrica, mas alterou também a paisagem e os ecossistemas fluviais.
Nesta página o comprimento indicado é o do troço em território português, não o do curso completo. É por isso que o Douro encabeça a lista: o Tejo é mais longo no total, mas percorre menos quilómetros em Portugal.
| # | Nome | Comprimento |
|---|---|---|
| 1 | Rio DouroBragança · Guarda · Vila Real · Viseu · Porto Nasce na Serra de Urbión em Espanha a cerca de 2080 metros de altitude. Com 850 quilómetros no total percorre cerca de 213 quilómetros em Portugal. Desagua no Oceano Atlântico na Foz do Douro no Porto. | 527 km |
| 2 | Rio TejoCastelo Branco · Santarém · Lisboa Nasce em Albarracín em Espanha a cerca de 1593 metros de altitude. É o rio mais longo da Península Ibérica com 1007 quilómetros no total dos quais cerca de 275 percorre em Portugal. Desagua no Oceano Atlântico em Lisboa. | 275 km |
| 3 | Rio GuadianaÉvora · Beja · Faro Nasce nas Lagunas de Ruidera em Espanha a cerca de 890 metros de altitude. Com 818 quilómetros no total percorre cerca de 260 quilómetros em Portugal servindo parcialmente de fronteira com Espanha. Desagua no Oceano Atlântico junto a Vila Real de Santo António. | 260 km |
| 4 | Rio MondegoGuarda · Coimbra Nasce na Serra da Estrela a cerca de 1350 metros de altitude. É o único grande rio com nascente e foz inteiramente em Portugal continental. Percorre 234 quilómetros até desaguar no Oceano Atlântico em Figueira da Foz. | 234 km |
| 5 | Rio ZêzereGuarda · Castelo Branco · Santarém Nasce na Serra da Estrela perto da Torre a cerca de 1950 metros de altitude. Percorre 210 quilómetros inteiramente em Portugal. Desagua no rio Tejo em Constância no distrito de Santarém. | 210 km |
| 6 | Rio SaborBragança Nasce na Serra de Sanábria em Espanha a cerca de 1600 metros de altitude. Percorre cerca de 187 quilómetros em Portugal. Desagua no rio Douro perto de Torre de Moncorvo. | 187 km |
| 7 | Rio SadoBeja · Setúbal Nasce perto de Santo Aleixo da Restauração no Baixo Alentejo a cerca de 230 metros de altitude. Percorre 180 quilómetros inteiramente em Portugal. Desagua no Oceano Atlântico junto a Setúbal formando um vasto estuário. | 180 km |
| 8 | Rio VougaViseu · Aveiro Nasce na Serra da Lapa a cerca de 825 metros de altitude no distrito de Viseu. Percorre 148 quilómetros inteiramente em Portugal. Desagua na Ria de Aveiro uma vasta lagoa costeira no distrito de Aveiro. | 148 km |
| 9 | Rio CôaGuarda Nasce na Serra da Malcata no distrito da Guarda a cerca de 870 metros de altitude. Percorre 145 quilómetros inteiramente em Portugal. Desagua no rio Douro em Vila Nova de Foz Côa. | 145 km |
| 10 | Rio MinhoViana do Castelo Nasce na Serra de Meira em Espanha a cerca de 1060 metros de altitude. Serve de fronteira natural entre Portugal e a Galiza no seu troço final. Desagua no Oceano Atlântico junto a Caminha. O comprimento total é de 340 quilómetros e percorre cerca de 140 quilómetros em Portugal. | 140 km |
| 11 | Rio TâmegaVila Real · Braga · Porto Nasce na Galiza espanhola a cerca de 1200 metros de altitude. Percorre cerca de 140 quilómetros em Portugal. Desagua no rio Douro perto de Marco de Canaveses. | 140 km |
| 12 | Rio CávadoBraga · Vila Real Nasce na Serra do Larouco a cerca de 1515 metros de altitude no distrito de Vila Real. Percorre 135 quilómetros inteiramente em Portugal. Desagua no Oceano Atlântico em Esposende no distrito de Braga. | 135 km |
| 13 | Rio LimaViana do Castelo Nasce na Galiza espanhola a cerca de 600 metros de altitude. Entra em Portugal pelo Parque Nacional da Peneda-Gerês e percorre cerca de 134 quilómetros até ao Atlântico. Desagua em Viana do Castelo. | 134 km |
| 14 | Rio MiraBeja Nasce perto de Mértola no Baixo Alentejo a cerca de 240 metros de altitude. Percorre 134 quilómetros inteiramente em Portugal. Desagua no Oceano Atlântico em Vila Nova de Milfontes no Alentejo Litoral. | 134 km |
| 15 | Rio PaivaViseu · Aveiro · Porto Nasce perto da Serra do Leomil a cerca de 900 metros de altitude. Percorre 110 quilómetros inteiramente em Portugal. Desagua no rio Douro perto de Castelo de Paiva no distrito do Porto. | 110 km |
| 16 | Rio LisLeiria Nasce no planalto calcário de Fátima a cerca de 350 metros de altitude no distrito de Leiria. Percorre 105 quilómetros inteiramente em Portugal. Desagua no Oceano Atlântico perto de Pedrógão no distrito de Leiria. | 105 km |
| 17 | Rio AveBraga · Porto Nasce na Serra da Cabreira a cerca de 1200 metros de altitude no distrito de Braga. Percorre 85 quilómetros inteiramente em Portugal. Desagua no Oceano Atlântico em Vila do Conde no distrito do Porto. | 85 km |
| 18 | Rio AradeFaro Nasce na Serra do Caldeirão a cerca de 400 metros de altitude. Percorre 75 quilómetros inteiramente no Algarve. Desagua no Oceano Atlântico em Portimão. | 75 km |