Edward Fox had known General Horrocks before working on the film, and considered him a friend; thus, Fox took great care to portray him accurately. Years later, he would cite his portrayal of Horrocks as his favorite film role.
During WWII, Dirk Bogarde, who played Lt. Gen. Browning, served in intelligence with the British army. He and eight other intelligence officers were sent to Arnhem by Bernard L. Montgomery during the battle.
Denholm Elliott who has a brief cameo as an RAF Officer actually did serve in the RAF during World War II.
One Steve Limit: The intelligence officer called Major Fuller in the film was actually called Brian Urquhart. However since Sean Connery's character, the commander of the British airborne division was also historically named Roy Urquhart it was decided to rename the more minor character played by the unknown actor.
The real Lt.-Colonel Frost objected to a scene where Anthony Hopkins runs across a street under fire. He always walked, as a British officer is never supposed to run under fire, to inspire his men and show his contempt for the enemy. It was decided to leave the scene as it was, for fear the audience would have a What an Idiot reaction. Hopkins was also unable to force himself walk as the fake explosions and gunfire was too realistic for him to remain calm.
Author William Goldman mentions three examples that were criticized. First, a British general (Dirk Bogarde) who sends his troops to a supposedly undefended territory, although he actually has information about German troops being there, but doesn't care. Second, James Caan forcing a medical officer to operate on his captain, who seems to be dead (which he isn't, of course). Third, Ryan O'Neal as General James Gavin who was deemed to be too young for the role by the critics — despite being exactly the same age as the real Gavin had been at that time.
Real-Life Relative: Gerald Sim (Colonel Sims) was the brother-in-law of the director Richard Attenborough.
Roger Moore was initially cast as Lt. Gen. Brian Horrocks, but was unable to appear when problems surrounding the Bond franchise meant that The Spy Who Loved Me was made a year later than originally planned, therefore coinciding with the production dates. In addition, Horrocks had approval over the character and turned Moore down, and the role instead went to Edward Fox (who nailed it).