O clima do Peru tem três tipos diferenciados: árido, tropical (litoral), tropical de altitude (altiplano e cordilheira) e equatorial (trecho amazônico).
A corrente de Humboldt, ou do Peru, desloca ao largo da costa peruana, na direção norte, uma imensa quantidade de água fria procedente da Antártica e tem notável influência sobre o clima. A temperatura média da costa do Peru é de seis a oito graus mais baixa do que seria de esperar em vista da latitude. As precipitações são praticamente nulas na área que se estende do oceano até os primeiros contrafortes dos Andes, mas a costa em geral se mostra coberta, durante boa parte do ano, por densas brumas úmidas. O sol brilha sobre Lima no verão, mas durante o resto do ano fica coberto pela névoa.[1]
Com certa periodicidade se forma no oceano uma contracorrente, chamada El Niño, que impele para sul água quente da zona equatorial e empurra a corrente fria para longe da costa. A evaporação de suas águas inusitadamente quentes produz chuvas catastróficas numa área que habitualmente aparece entre as mais secas do planeta.[1]
Na região andina o clima é temperado e seco, com chuvas sazonais, entre 2.500 e 3.500m. Na região amazônica, o clima é quente e chuvoso.[1]