One Battle After Another: Leonardo DiCaprio and Sean Penn at their best in action-packed film

James Cox

Paul Thomas Anderson has pulled off another masterpiece with One Battle After Another, with Leonardo DiCaprio and Sean Penn at their best in the action-packed film.

There are many humorous elements to the film but the subject is deadly serious.

Anderson insists it is not a political commentary but with the focus on the misuse of the US military and persecution of migrants, it's hard not to link it to Donald Trump's America.

Crazy car chases and sex scenes, fire fights, explosives, there's a bit of everything in the film.

Dicaprio plays Bob Ferguson, the explosives guy for a revolutionary group called the French 75. He is in love with firebrand activist Perfidia (Teyana Taylor), and follows her into the most extreme situations.

The group attacks the military regiments in charge of migrant detention centres on the US-Mexico border.

This brings them into direct conflict with Colonel Steven J Lockjaw (Penn), the undisputed villain of the film.

The first half hour or so is non-stop action, before a time jump that sees Bob struggling to raise his teenage daughter with the long-gone Perfidia, Willa (Chase Infiniti). 

Infiniti is brilliant in her breakout role, and quickly becomes one of the main characters in the story.

Her karate instructor Sergio, who proves to be a vigilante himself, is played brilliantly by Benicio del Toro.

The film cost around $300 million to make, earning around $198 million at the box office thus far for a net loss.

However, the story is excellent an many cult hits do not prove to be big earners. The film is two hours and 45 minutes long but doesn't feel like that as it's entertaining from start to finish and well worth a watch.