Barzago sorge sulle ondulazioni della Brianza collinare, a 358 metri sul livello del mare e a oltre 150 km dalla costa. Il territorio, con appena 3,6 km² e una densità di 676 abitanti per km², è un mosaico di campi, boschi e piccole cascine, tipico del paesaggio brianzolo. La vicinanza a Lecco e ai laghi lombardi ne fa un luogo di passaggio tra pianura e montagna.
L'economia locale è caratterizzata da una discreta capacità di reddito (25.873 € pro capite) e da un mercato immobiliare con prezzi medi di 1.025 €/m², inferiori alla media provinciale.
Il clima è temperato, con una temperatura media di 12,4 °C e precipitazioni annue di circa 1.084 mm. Il patrimonio monumentale conta 9 edifici di interesse, mentre l'indice di vecchiaia (228) e il saldo naturale negativo (-9) delineano una popolazione tendenzialmente anziana. A breve distanza si trovano i siti UNESCO di Capriate San Gervasio e Tremezzina.