Holmes is hired by Roland Carstairs to prevent the theft of the Star of Rhodesia, an enormous diamond owned by Carstairs’ mother, Lady Margaret. Believing the diamond will be stolen on a train trip from London to Edinburgh, Holmes deftly switches diamonds with Lady Margaret while in her compartment. Soon after, Roland is murdered and the fake diamond is stolen. Red herrings abound as Holmes, aided by Dr. Watson and Inspector Lestrade, discover the murderer’s hiding place and deduce that long-time foe Moriarty’s henchman Colonel Sebastian Moran is somehow involved in the crime.
An off-screen narrator tells of the deadly curse carried by the fabulous "Star of Rhodesia" diamond, then takes us to a London coffin-maker's, where Vivian Vedder (Renee Godfrey) arranges a special coffin for her late mother. She'll be taking it on the 7 PM train to Edinburgh. At Euston Station, Roland Carstairs (Geoffrey Steele) meets Holmes (Basil Rathbone), whom he has hired to guard his mother Lady Margaret (Mary Forbes), who has already boarded the train back home to Scotland. Actually, he's there to guard the Star of Rhodesia, which she has owned for many years, but was the object of an attempted theft when Lady Margaret wore it at a royal function. Holmes is certain the thieves will try again. Apparently, Scotland Yard agrees, as Inspector Lestrade (Dennis Hoey) is also taking the trip. The train begins to pull out, and Watson (Nigel Bruce) and his old army friend Major Duncan-Bleek (Alan Mowbray) barely manage to board. They had bumped into each other, and forgotten the time as they reminisced. Carstairs brings Holmes to his compartment, where his mother is skeptical about the aid of a "policeman", but she lets Holmes examine the Star.While Holmes, Watson, Duncan-Bleek, and Lady Margaret are in the dining car, Carstairs falls onto the floor of his compartment. Lestrade hears the thud, but finds the door to the Carstairs compartment locked. Holmes arrives and has the attendant (Billy Bevan) open it. They find Carstairs dead and the box that had contained the Star empty. The body shows no wounds aside from a tiny spot of blood, but Holmes declares it's murder, since a thief arriving right after Carstairs died of natural causes is too improbable. Watson, unimpressed with Lestrade's plodding, decides to try questioning suspects himself. (Thus suspects are those who occupy compartments in the same car, as the attendant was at the door to the leading car, and the trailing car is the locked luggage van.) Watson gets nowhere at all in his attempt with cranky William Kilbane (Frederick Worlock), a professor of mathematics. However, when he questions Alfred Shallcross (Gerald Hamer), he gets an immediate confession. Watson summons Holmes and Lestrade, only to learn that Alfred was confessing to having stolen a teapot from the hotel where he stayed in London. Lestrade is not amused, but neither he nor Holmes can get any more cooperation from Prof. Kilbane than Watson did. Later, Holmes tells Lestrade that this puts him in mind of Colonel Sebastian Moran, master jewel thief and amateur mathematician.Holmes is nearly pushed off the train by an unseen assailant, but he manages to hang on to the outside and eventually climb back aboard. He and Watson enter the luggage van and convince the guard there to let them examine the coffin. It has the remains of an elderly woman in the top part, but also a false bottom that could have hidden the murderer. The two of them, plus Lestrade and Duncan-Bleek pay a call on Vivian, who admits that she was hired to take the coffin to Edinburgh. She knew about the compartment in the coffin, but was being paid. Holmes asks if her employer was Duncan-Bleek, but she says she never saw him before. Watson is shocked that Holmes would subject his old friend to that kind of suspicion. Later, Holmes reveals that he's had the real Star all along, and Lestrade takes it. Back in the luggage van, Holmes and Watson discover that the guard has been murdered. He also has a tiny spot of blood, but this time they find the tiny gelatin dart that delivered poison. Unlike the case of Carstairs, there hadn't been enough time for it to dissolve in the wound.Holmes's assailant, a man named Sands (Skelton Knaggs) renders the attendant unconscious so he can visit Duncan-Bleek unobserved. He reports how he dealt with the guard and the attendant, and turns the diamond he stole over to the Major, who knows it's the fake planted by Holmes. He has Sands club Lestrade and grab the real gem, then kills Sands with his poison-dart airgun. He leaves, and Holmes and Watson arrive to revive Lestrade. The train stops just across the Scottish border, where an Inspector MacDonald (Boyd Davis) and his men board. MacDonald, claiming jurisdiction because he's from the Edinburgh police, has them all move to the dining room to conduct his investigation.Holmes tells MacDonald that Duncan-Bleek is Moran, but the latter pulls the emergency brake cord, and a fight in darkness ensues. It ends with Holmes triumphant, and the vanquished tangled up in his coat. MacDonald takes the prisoner off the train, which starts off for Edinburgh. Holmes points out to Watson that Moran lies unconscious on the floor. As he revives, he's startled not to find himself in the company of MacDonald, who was actually his accomplice. However, Holmes realized that (mainly because he knew the real MacDonald), and the man the fake police took off the train was Lestrade. Meanwhile, Lestrade has untangled himself, pulled a gun on his supposed captors, and arrested them. Moran wants to take solace in the fact that Holmes doesn't have the Star, but of course the detective has pulled yet another switch, and reveals the real diamond.