I en sør-svensk regiment-by i Sverige på 1880-tallet spiser grev Christian frokost sammen med sin kone, Antoinette. Hun er stiv og moraliserende, men han en poetisk drømmer. Ekteskapet er konvensjonelt, og fullstendig mislykket. Christian, i en elegant 1880-tallsuniform, er også misfornøyd med yrket som offiser, og drømmer romantisk om noe helt annet. En berømt sirkus-tropp besøker området, og Christian går dit sammen med en gruppe andre offiser. Blant utøverne er den dyktige og søte line-danseren Elvira Madigan. Etter showet leter Christian etter henne, og han blir intenst forelsket. Hun nekter å møte ham igjen, fordi sirkus-folkets strenge moral forbyr forbindelser mellom en løytnant og en danser. De fortsetter likevel å møtes oftere og oftere.