Holding strong in second place was Martin Scorsese's "The Departed," which took in $13.7 million and raised its three-week total to $77.1 million, according to studio estimates Sunday.
The previous weekend's No. 1 movie, Sony's horror sequel "The Grudge 2," tumbled to fifth-place with $7.7 million, lifting its 10-day total to $31.4 million.
Box-office analysts had viewed the weekend as a three-way race among well-reviewed films: Disney's "The Prestige," starring Hugh Jackman and Christian Bale as rival magicians in a blood feud; Paramount's "Flags of Our Fathers," dramatizing the Iwo Jima invasion; and the Warner Bros. mob tale "The Departed."
"I'm not surprised that we won the weekend," said Chuck Viane, head of distribution for Disney. "It's just when everybody has such quality films as `Flags' and `Prestige' and `Departed,' that's a great crowd to be running in."
"The Prestige" debuted in 2,281 theaters, 400 more than "Flags." "The Departed" is playing wider, in 3,005 cinemas.
With 70 percent of its viewers under 35, "The Prestige" drew a younger crowd that tends to turn out in bigger numbers over opening weekend. Eighty percent of the audience for "Flags" was older than 30.
"We felt the movie was going to play to the older crowd. It takes time usually for that group to show up," said Jim Tharp, head of distribution for Paramount.
Among other new movies, 20th Century Fox's family film "Flicka" tied "The Grudge 2" for No. 5 with $7.7 million. Based on the children's book "My Friend Flicka," the movie stars Alison Lohman as a teen who adopts a wild mustang.
Sony's "Marie Antoinette," with Kirsten Dunst in director Sofia Coppola's chronicle of the 18th century queen beheaded during the French Revolution, premiered at No. 8 with $5.3 million.
The 1993 animated tale "Tim Burton's the Nightmare Before Christmas" returned to theaters in a three-dimensional version and rang up a strong $3.3 million in limited release of 168 theaters.
"Running With Scissors," featuring Joseph Cross, Annette Bening and Alec Baldwin in an adaptation of Augusten Burroughs' best-seller, opened strongly with $225,000 in eight theaters.
"The Prestige" pits two big-screen superheroes against each other, "Batman Begins" star Bale vs. Jackman, who plays Wolverine in the "X-Men" flicks. The film reunited Bale with his "Batman Begins" director, Christopher Nolan.
"Flags of Our Fathers" lacked that star power, its ensemble cast led by Ryan Phillippe, Adam Beach and Jesse Bradford.
Eastwood's last two movies, 2003's crime drama "Mystic River" and 2004's Academy Awards champ "Million Dollar Baby," both debuted in a handful of theaters. The debut for "Flags of Our Fathers" was in line with the first wide-release weekends for those films, $10.4 million for "Mystic River" and $12.3 million for "Million Dollar Baby."
"I don't think it was a movie that was destined to make a huge opening-weekend splash," said Paul Dergarabedian, president of box-office tracker Exhibitor Relations. "`Flags' is a film that definitely has more appeal to older audiences, so I think over time, it'll do well."
Estimated ticket sales for Friday through Sunday at U.S. and Canadian theaters, according to Exhibitor Relations Co. Inc. Final figures will be released Monday.
1. "The Prestige," $14.8 million.
2. "The Departed," $13.7 million.
3. "Flags of Our Fathers," $10.2 million.
4. "Open Season," $8 million.
5 (tie). "Flicka," $7.7 million.
5 (tie). "The Grudge 2," $7.7 million.
7. "Man of the Year," $7 million.
8. "Marie Antoinette," $5.3 million.
9. "The Texas Chainsaw Massacre: The Beginning," $3.9 million.
10. "The Marine," $3.7 million.