Attestata per la prima volta nel 1034 come Cozemano, nel Medioevo il territorio fu in parte feudo dell'arcivescovo Ariberto d'Intimiano. Poi, dal 1648, appartenne interamente ai Masserani. Nel 1865 al comune di Cazzimani vennero aggregati i comuni di Ca' dell'Acqua e Guazzina. Si chiamò Cazzimani (da "Ca' de Zimani") fino al 1929, quando assunse il nome di Borgo Littorio.
Dopo la seconda guerra mondiale, nel 1947, il nome fu mutato in Borgo San Giovanni, dal nome del santo patrono parrocchiale. Secondo lo statuto comunale, il territorio comunale comprende, oltre al capoluogo, le frazioni di Ca' dell'Acqua, Domodossola, Domodossolina e Sacchelle, le cascine Ca' de Geri, Colombera, Frandellona e Rita, e agglomerati e case sparse.
Secondo l'ISTAT, il territorio comunale i centri abitati di Borgo San Giovanni e Domodossola, e i nuclei abitati di Ca' de' Geri e Case Nuove. L'agricoltura e l'allevamento del bestiame (suini e bovini) sono ancora settori economici attivi. Tuttavia Borgo San Giovanni vanta una discreta presenza industriale. Si assiste comunque ad un pendolarismo su Milano e Lodi.
Delimitato dalla sponda sinistra del fiume Lambro ad ovest e dalla Autostrada del Sole (A1), Borgo San Giovanni è un comune di 2180 abitanti (ISTAT 2011). Al PLIS sono stati dedicati 31,84 ettari cioè il 4,20% del territorio comunale (758,64 Ha) e il 2,43% del territorio a parco.