In Steven Spielberg’s 1987 film Empire of the Sun, which actor plays young Jim Graham?

The story behind the answer

Christian Bale plays young Jim Graham in Steven Spielberg’s 1987 film Empire of the Sun.

The film adapts J. G. Ballard’s semi-autobiographical 1984 novel about a British boy living in Shanghai during the Second World War. Jim is separated from his parents after Japan occupies the city and is eventually interned in a camp. Bale’s performance was his first major film role and made him widely known as a child actor.

Empire of the Sun was released when Bale was 13. Spielberg had considered many young performers before casting him, and the film gave Bale an unusually demanding dramatic part involving war, displacement, hunger, and survival. The movie also features John Malkovich, Miranda Richardson, and Nigel Havers. Bale later became known for adult roles in films including American Psycho, The Dark Knight, and The Fighter.

A common mix-up is confusing Bale’s character, Jim Graham, with the real-life experiences of Ballard himself. The film is inspired by Ballard’s childhood, but Jim is a fictionalized version rather than a documentary depiction.

Source: Wikipedia · fact-checked Sept. 2026

Add question to a list

Choose a list to keep this question in: