Baia Mare se află în vestul judeţului Maramureş, pe cursul Râului Săsar. Cu o suprafaţă a intravilanului de 234,7km2, municipiul cuprinde administrativ şi localităţile Blidari, Firiza, Valea Neagră şi Valea Borcutului.
Datorită poziţiei oraşului la poalele Carpaţilor Orientali, în proximitatea oraşului se află mai multe dealuri şi munţi, ca Dealul Florilor (367 m), Dealul Morgău (633 m), Dealul Crucii (501 m), Igniş (1.307 m), Mogoşa (1.246 m), Gutâi (1443 m), Creasta Cocoşului (1450 m), Piatra Şoimului (839 m), Pleştioara (803 m), Dealul Bulat (683 m) ş.a.
Reţeaua hidrografică este formată din râul Săsar, care traversează de la est la vest oraşul, râul Firiza din apropiere cu lacul de acumulare de la barajul Strâmtori, lacul Bodi de la Ferneziu şi lacul de la Mogoşa.
Regiunea are o climă temperat oceanică - ierni reci şi veri răcoroase. Temperatura anuală medie este de 9,6 °C.
Vegetaţia regiunii era alcătuită în proporţie de 80% din păduri de foioase (fagi, carpeni şi stejari), care au fost defrişate şi înlocuite cu culturi agricole. Pe rama depresiunii Baia Mare predomină pădurile de gorun în amestec cu carpen. Specifice regiunii sunt suprafeţele întinse cu castani comestibili, ele fiind cea mai mare suprafaţă împădurită cu castani din România.
Fauna cuprinde multe specii cunoscute din zona carpatică: cerb, căprior, lup, vulpe, iepure, jder, veveriţă. Păsările, prezente mai ales în zona pădurilor de fag, sunt: ieruncă, porumbel de scorbură, huhurezu mare, uliu porumbar, bufniţa, şoimul. În râurile de munte trăiesc lostriţa, păstrăvul, scobarul şi ştiuca.
Există mai multe rezervaţii naturale: Cheile Tătarului, Creasta Cocoşului, Lacul albastru din Baia Sprie.