In 19th Century Victorian England, Dr. Frederick Treves (Anthony Hopkins) wanders through an urban carnival in search of freak shows. He happens on a hideously deformed creature called The Elephant Man (John Hurt), and pays the owner Mr. Bytes (Freddie Jones) to examine it. Treves purpose is to present a paper to the Pathological Society and enhance his medical reputation.
The Elephant Man returns from the seminar to Bytes and is beaten severely for wondering off. The man's injuries, as well as an attack from bronchitis, leads Treves to admit him to the hospital. In an attempt to convince the authorities to allow the man to stay, Treves endeavors to communicate with the person. During a meeting, Treves discovers that the man can talk and is educated. The Elephant Man's name is John Merrick and he reveals that he has had this strange disease since he was 14 which benign tumors grow all over his body, face and hands, in which he must sleep sitting up or he will die from suffocation. Merrick is given a room to live in and gradually becomes accepted by most members of the hospital staff. But one hospital night porter (Michael Elphick) sees a money spinner and each evening gathers a drunken crowd of people who will pay any price to see the freak.
Treves attempts to introduce Merrick to London society and brings him over to meet with his wife (Hannah Gordon), who hides her shock at Merricks appearance. Soon the local newspapers run articles on Merrick. One is read by actress Mrs. Kendal (Ann Bancroft) who visits Merrick, tells him about her life in the theater and gives him a copy of Shakespeares plays.
However the night porter is still in business in displaying Merrick. One evening, Bytes joins the throng and after a particularly humiliating brawl, kidnaps Merrick and takes him to France. Severely neglected and very ill, Merrick is once more put on display as the Elephant Man for the local crowds. Bytes' son (Adam S. Gottbetter) tells his father that he can take no more of seeing him humiliate a human being, but Bytes tells his son to mind his own business. That night, Bytes' son, with the help of other carnival freaks, releases Merrick and assists his escape back to England.
Reunited with Treves, it appears that Merrick does not have long to live. Merrick visits the theater with Treves and his wife where Mrs. Kendal has her performance dedicated to him. Back at the hospital, Merrick thanks Treves for a splendid evening and afterwards discards all pillows from his bed, determined to lie down like everyone else. Merrick lies down and sleeps one final time before quietly passing away, where his late mother welcomes him to the bright glory of Heaven.