York was born in Fulmer, Gerrards Cross, Buckinghamshire, the son of Florence Edith May (née Chown), a musician; and Joseph Gwynne Johnson, a Llandovery-born Welsh ex-Royal Artillery British Army officer and executive with Marks & Spencer department stores. York has an older sister, Penelope Anne (born 1940) and younger twin sisters, Caroline and Bridget (born 1947); Bridget died a few hours after birth, according to his autobiography. He was brought up in Burgess Hill, Sussex.
During his teenage years, York was educated at Bromley Grammar School for Boys, Hurstpierpoint College and University College, Oxford. He began his career in a 1956 production of The Yellow Jacket. In 1959 he made his West End début with a small part in a production of Hamlet. York was a member of National Youth Theatre
Prior to graduating with a degree in English from the University of Oxford in 1964, York had toured with the National Youth Theatre, also performing with the Oxford University Dramatic Society and the University College Players. After some time with the Dundee Repertory Theatre, where he played in Brendan Behan's The Hostage, York joined National Theatre under Laurence Olivier where he worked with Franco Zeffirelli during the 1965 staging of Much Ado About Nothing. Following his role on British TV as Jolyon (Jolly) in The Forsyte Saga (1967), York made his film debut as Lucentio in Zeffirelli's The Taming of the Shrew (1967), then was cast as Tybalt in Zeffirelli's 1968 film adaptation of Romeo and Juliet. He starred in The Guru (1969), played an amoral bisexual drifter in Something for Everyone (1970) and portrayed the bisexual Brian Roberts in Bob Fosse's film version of Cabaret (1972). In 1971 he portrayed a World War I soldier with conflicted family loyalties who pretends to side with the Germans in Zeppelin. In 1975 he portrayed a British soldier in 19th century colonial India in Conduct Unbecoming, the first of three movies he did with Director Michael Anderson. In 1977, he reunited with Franco Zeffirelli as John the Baptist in Jesus of Nazareth.
York starred as D'Artagnan in the 1973 adaptation of The Three Musketeers and he made his Broadway début in the original production of Tennessee Williams's Out Cry. One year later the sequel to The Three Musketeers was released (roughly covering events in the second half of the book) titled The Four Musketeers. Fifteen years later, most of the cast (and crew) joined together in a third film titled The Return of the Musketeers based on the Dumas novel Twenty Years After. He played the title character in the film adaptation of Logan's Run (1976), a fugitive who tries to escape a computer-controlled society. The following year, he starred in The Island of Dr. Moreau opposite Burt Lancaster.
Since his auspicious early work, York has enjoyed a busy and varied career in film, television and on the stage. He appeared in two episodes in the second season of the Road to Avonlea series as Ezekiel Crane, the lighthouse keeper of Avonlea and foster Father of Gus Pike. His Broadway theatre credits include Bent (1980), The Crucible (1992), Someone Who'll Watch Over Me (1993) and the ill-fated musical The Little Prince and the Aviator (1982), which closed during previews. He also has made many sound recordings as a reader, including Harper Audio's production of C. S. Lewis' The Lion, the Witch and the Wardrobe.
York portrays Luke in The Truth & Life Dramatised Audio New Testament Bible, a 22-hour audio dramatisation of the New Testament, which uses the Revised Standard Version Catholic Edition translation. In 2008, York took part in the BBC Wales programme Coming Home about his Welsh family history. In September 2013, York played Albany in the Gala Performance of william Shakespeare's King Lear at the Old Vic in London.
York voiced Petrie's uncle Pterano in The Land Before Time VII: The Stone of Cold Fire. In 2009 he narrated the entire Bible for The Word of Promise Audio Bible, a star-studded, performance of the New King James Version. York again played King Arthur in a revival of Lerner and Loewe's Camelot, which began its run at the La Mirada Theatre in Southern California, and toured nationally in 2006 and 2007.
In 2013, York announced he was suffering from the rare disease amyloidosis. Doctors initially thought he had bone cancer. In 2012, he had undergone a stem cell transplant, which can alleviate symptoms.