She had previously played Amanda Gibbs opposite Ian Hendry in the series Police Surgeon.
She appeared as Kay Price in an episode of Public Eye in 1975.On cinema she played Giselle Dureaux in the 1960 film Bluebeard's Ten Honeymoons starring George Sanders, and later appeared opposite Sanders again in The Amorous Adventures of Moll Flanders (1965).
Hafner studied at the Bristol Old Vic Theatre School and subsequently joined the Old Vic under Michael Benthall, where she played ‘Sylvia’ in The Two Gentlemen of Verona; ‘Lavina’ in Titus Andronicus, ‘Iris’ in Anthony and Cleopatra and ‘Lady Anne’ in Richard III.
Her other theatre work included repertory at Windsor, Colchester, Glasgow Citizens, Richmond Theatre (15 plays), From the French at the Strand Theatre in the West End, Jungle in the Cities at Stratford East and numerous productions at the Bristol Old Vic, including her first appearance there in Cyrano, in which she played Roxanne, and the title role in The Lady's not for Burning.
The 57-year-old Hafner died in 1994 from motor neurone disease, leaving husband Richard Clothier and two sons, Ben and William.