L'histoire se déroule dans la banlieue de Milan. Nullo (Giuliano Gemma) et Carmela (Stefania Sandrelli) sont tous deux ouvriers dans la même usine. Nullo vient du Nord de l'Italie, ses parents sont communistes et non-croyants, tandis que Carmela est originaire de Sicile et vient d'un milieu catholique. Arrivée à Milan avec sa famille, ils vivent ensemble dans un quartier misérable. Alors que naît un amour entre Carmela et Nullo, celui-ci va se heurter à de multiples contradictions, familiales et culturelles.