Initially, during the film production, director Harley Cokeliss and screen play writer Peter Milligan (who adapted the screenplay from the novel 'An Angel for May' by Melvin Burgess) had maintained the novel's original bleak conclusion. After an ad hoc workshop with his film family, actor Tom Wilkinson urged Cokeliss to come up with an ending in which the character Tom Collins succeeded so the audience could go out feeling positive. Cokeliss and Milligan thought that was an intriguing idea. As it happened, funding for the film was held up for three months giving Cokeliss and Milligan time to think about the idea and develop a rather powerful ending message. When author Burgess was shown the new ending, he said "I wish I'd thought of that ending" which they thought was very big of him and a great complement. The novel had focused not on changing the past but on returning to change the present.
An Angel for May was shot in Barnsley, Grimethorpe, High Bradfield, Penistone, and Sheffield in South Yorkshire and in Leeds, Marsden, and Slaithwaite in West Yorkshire. The farm ruins that acted as a wormhole transporting young Tom Collins from the 1990s to the 1940s was a set built on fields close to a farm in Penistone and used for three weeks where one nearby hill represented the '40s and another, with wind turbines in the background, was used for the 1990s.
Only five boys in the 1941 gang of eight boys are credited. Some of the eight were local to South Yorkshire where the scenes were filmed.
During much of the movie, Tom Collins is wearing a dark hoodie sweatshirt bearing the name SlipKnot an American heavy metal band formed in Des Moines, Iowa, in 1995.
In the final segment, when Tom is searching for Rosie and is unable to find her, he is wearing a QuickSilver jersey.