In Apocalypse Now, which actor played Captain Benjamin Willard?
Answer
Martin Sheen
Answer
Martin Sheen
In Apocalypse Now, Martin Sheen played Captain Benjamin Willard.
Willard is the film’s central character, a U.S. Army Special Forces officer sent upriver during the Vietnam War to find and assassinate Colonel Walter Kurtz. The story is loosely adapted from Joseph Conrad’s 1899 novella Heart of Darkness, relocating its journey from colonial Africa to Southeast Asia.
Martin Sheen filmed much of the production in the Philippines. The shoot became famously difficult because of severe weather, production delays, and Sheen’s heart attack in 1977. He later completed the role after recovering.
The cast is sometimes confused because Robert Duvall plays Lieutenant Colonel Bill Kilgore, while Marlon Brando plays Kurtz. Dennis Hopper appears as a photojournalist. Sheen’s son Charlie Sheen later appeared in the film’s brief framing scenes as a younger version of Willard.
Source: Wikipedia · fact-checked Sept. 2026