O rio Magdalena nasce na bifurcação das cordilheiras Central e Oriental dos Andes, a mais de 3.500m de altitude. Percorre a Colômbia de sul a norte, numa extensão de 1.550km, e sua bacia tem uma superfície de 260.000km². O leito do rio é irregular, com cheias na primavera e no outono e estiagens no inverno e no verão. O primeiro trecho, rápido e abrupto, corre ao longo de gargantas estreitas. Passada a cidade de Neiva, a corrente se torna mais tranquila, exceto pelas corredeiras nas proximidades do porto de Honda. No curso médio até Nare recebe diversos afluentes, e a partir de Mompós o terreno baixo dá margem à formação de pântanos, inundados em época de cheia. No curso baixo recebe os principais afluentes: San Jorge, César e Cauca. Abre-se a seguir em delta ao desembocar no mar do Caribe, onde, nas bocas do rio, se acumulam sedimentos e se formam bancos de areia.