Georges (Jean Poiret) et Albin (Michel Serrault) sont un couple aux mœurs très libérés, presque sans histoire, à part les caprices hystériques récurrents d'Albin. Ils possèdent un cabaret de travestis, la "Cage aux Folles", dont Albin en aussi la vedette, sous le pseudonyme de Zaza Napoli. Geroges reçoit la visite de Laurent (Philippe Lavot), le fils qu'il a eu, jadis, à l'occasion d'une liaison hétérosexuelle. Laurent lui apprend qu'il va se marier avec Muriel (Danièle Luger). Problème : les parents de Muriel, M. et Mme Dieulafoi, sont très conservateurs. Le père (Marco Perrin) est député et membre éminent d'un parti conservateur, le S.P.C. (Sociaux, Paysans, Campagne). Par ailleurs, ils ignorent tout de la profession et des orientations sexuelles des parents de Laurent. Aussi pour ne pas choquer et voir s'enfuir sa future belle-famille, Laurent demande à son père de jouer le jeu de la famille respectable. Il y a donc quelques modifications à apporter, trois fois rien...