Mr. Dias knew it was not actually Sherlock Holmes. Sherlock Holmes isn’t real.

It was the actor Benedict Cumberbatch, who played the eccentric detective on the BBC and PBS television series “Sherlock,” which was based on the short stories by Arthur Conan Doyle. (Mr. Cumberbatch has more recently appeared as Doctor Strange in the movie “Avengers: Infinity War” and in the title role for the television series “Patrick Melrose.”)

The driver and the actor worked together to stop the attack, Mr. Dias told The Sun.

“I had hold of one lad and Benedict another. He seemed to know exactly what he was doing. He was very brave. He did most of it, to be honest,” he said. “They tried to hit him but he defended himself and pushed them away. He wasn’t injured. Then I think they also recognized it was Benedict and ran away.”

A spokesman for the Metropolitan Police in London also shared its record of events: On Nov. 25, the police were called to reports of an assault on Marylebone High Street at 9:30 p.m. local time.

The police account read: “The victim, aged in his 20s, was making a delivery on a pedal cycle traveling in the direction of Marylebone Road when he was approached by a group of males. One of the males attempted to grab the victim’s cycle. The victim dismounted and removed his helmet. He was then punched in the face, struck on the head and hit with his helmet.”

Then, the police said, the group got away. There was no mention of a celebrity intervention, and the police did not confirm the names of any of those involved. Nothing was reported stolen. The victim did not go to the hospital. No arrests were made.