Sherlock Holmes (Basil Rathbone) and Dr. John Watson (Nigel Bruce) receive a visit from Dr. James Mortimer (Lionel Atwill), who wishes to consult them before the arrival of Sir Henry Baskerville (Richard Greene), the last of the Baskervilles, heir to the Baskerville estate in Devonshire.
Dr. Mortimer is uneasy about letting Sir Henry go to Baskerville Hall, owing to a supposed family curse. He tells Holmes and Watson the legend of the Hound of the Baskervilles, a demonic dog that first killed Sir Hugo Baskerville (Ralph Forbes) several hundred years ago (seen in flashback) and is believed to kill all Baskervilles in the region of Devonshire.
Holmes dismisses it as a fairy tale but Mortimer narrates the events of the recent death of his best friend, Sir Charles Baskerville, Sir Henry's uncle. Although he was found dead in his garden without any trace of physical damage, Sir Charles's face was distorted as if he died in utter terror of heart failure. Dr. Mortimer reveals something not mentioned at the official inquest. He alone had noticed footprints at some distance from the body when it was found; they were the paw marks of a gigantic hound. He never dared report them because no one would have believed him.
Holmes decides to send Watson to Baskerville Hall along with Sir Henry, claiming that he is too busy to accompany them himself. Sir Henry quickly develops a romantic interest in Beryl Stapleton (Wendy Barrie), the step-sister of his neighbour John Stapleton (Morton Lowry), a local naturalist. (In the novel, she is forced to pretend to be Stapleton's sister, when in reality she is his wife.) Meanwhile, a homicidal maniac (Nigel De Brulier), escaped from Dartmoor Prison, lurks on the moor.
Holmes eventually makes an appearance, having been hiding in the vicinity for some time making his own enquiries. An effective scene, not in the original book, occurs when Holmes, Watson and Sir Henry attend a seance held by Mrs. Mortimer (Beryl Mercer). In a trance, she asks, "What happened that night on the moor, Sir Charles?" The only reply is a lone howl, possibly from a hound.
After some clever deception by Holmes, it is revealed that the true criminal is John Stapleton, a long-lost cousin of the Baskervilles, who hopes to claim their vast fortune himself after removing all other members of the bloodline.
Stapleton kept a huge, half-starved, vicious dog, (played by a Great Dane) trained to attack individual members of the Baskervilles after prolonged exposure to their scent. In order to make it seem truly diabolical, he daubed its coat with a luminous, phosphorus-based paint. However, when the hound is finally sent to kill Sir Henry Baskerville, Holmes and Watson arrive to save him just in time. They kill the hound, proving it is not a ghost, and Stapleton flees.
Unlike the original novel, the villain's fate is unknown in the film. Holmes does say ominously, "He won't get very far. I've posted constables along the roads and the only other way is across the Grimpen Mire."
Beryl and Sir Henry, who, unlike the novel, have become engaged earlier in the film, presumably marry, although this is never shown.
Because the studio apparently had no idea that the film would be such a hit, and that Rathbone and Bruce would make many more Sherlock Holmes films and be forever linked with Holmes and Watson, top billing went to Richard Greene, who was the film's romantic lead. Rathbone was billed second. Wendy Barrie, who played Beryl Stapleton, the woman with whom Greene falls in love, received third billing, and Nigel Bruce, the film's Dr. Watson, was billed fourth. In all other Holmes films, Rathbone and Bruce would receive first and second billing.
The Hound of the Baskervilles also marks the first of the fourteen Sherlock Holmes movies starring Rathbone and Bruce as the detective duo.