"Battle: Los Angeles" debuted at No. 1.
The summer-style blockbuster raked in $36 million in its opening weekend.
The movie stars Aaron Eckhart as a veteran solider who leads Marines against invading aliens.
The animated western spoof "Rango" held strong during its second week, taking in more than $23 million.
"Red Riding Hood" was third with about $14 million.
The top 10 movies of the weekend:
1. "Battle: Los Angeles," $36 million.
2. "Rango," $23.1 million.
3. "Red Riding Hood," $14.1 million.
4. "The Adjustment Bureau," $11.5 million.
5. "Mars Needs Moms!" $6.8 million.
6. "Hall Pass," $5.1 million.
7. "Beastly," $5.1 million
8. "Just Go With It," $4 million.
9. "The King's Speech," $3.6 million.
10. "Gnomeo & Juliet," $3.5 million.
The Associated Press contributed to this report.