Matko es un estafador de poca monta que viven a orillas del Danubio con Zare, su hijo de 17 años. Después de un chanchullo fallido, le debe dinero a Dadan, un gánster con más éxito. Dadan tiene una hermana poco agraciada, Afrodita, a la que quiere ver casada cuanto antes, por lo que llegan a un acuerdo para saldar la deuda: que Zare se case con ella.
Perhan vive en el sur de Yugoslavia con su devota abuela Hatidža (Ljubica Adžović), su alocado tío Merdžan y su hermana Danira, enferma de osteomielitis. Perhan está enamorado de Azra (Silonicka Trpkova), pero la madre de esta lo desprecia por su pobreza y por ser el hijo de un esloveno no gitano. Un día llega Ahmed (Bora Todorovic), el "jeque de los gitanos" que solicita los poderes mágicos de Hatidža para sanar a su hijo. A cambio, Ahmed llevará a Danira a Liubliana, donde la curarán de su enfermedad. Perhan la acompañará. Luego de dejar a Danira en el hospital, Ahmed lleva a Perhan a Milán, donde éste descubre que aquél maneja un negocio de explotación de prostitutas y niños mendigos.