Carnago liegt in der Lombardei, etwa zehn Kilometer südlich der Stadt Varese. Durch das Gebiet fließen die Flüsse Tenore und Arno, die beide zum Olona-Becken gehören. Die Gemeinde umfasst auch den Ortsteil Rovate und grenzt an mehrere Nachbargemeinden wie Cairate und Castelseprio. Die Landschaft ist geprägt von sanften Hügeln und landwirtschaftlich genutzten Flächen.
Die Geschichte Carnagos reicht bis in die Römerzeit zurück, als die Via Novaria-Comum durch das heutige Gemeindegebiet führte. Später stand der Ort unter dem Einfluss der Langobarden und gehörte zur Grafschaft Seprio. Im Mittelalter war Carnago Teil der Herrschaft lokaler Adliger, bis es 1650 die Unabhängigkeit zurückerwarb. Religiöse und politische Veränderungen prägten die Entwicklung, etwa die Übertragung der Propstei von Castelseprio an die Pfarrei San Martino in Carnago.
Heute ist Carnago vor allem für sein kulturelles Erbe bekannt. Die Propsteikirche San Martino, eine Wallfahrtskirche mit Werken des Malers Biagio Bellotti, und die Kirche San Rocco mit historischen Fresken zählen zu den Sehenswürdigkeiten. Das Trainingszentrum Milanello des AC Mailand ist ebenfalls hier ansässig. Ein berühmter Sohn der Gemeinde ist der Radrennfahrer Eugenio Alafaci.