It has been seven years since director David O. Russell’s last film, the underrated Joy, which capped just over a decade of almost entirely high quality movies. So, it is good to have him back with Amsterdam. Regular collaborator Christian Bale stars as Doctor Burt Berendsen. He is one of three friends who are prime suspects in the murder of the daughter Senator Bill Meekins in the 1930’s, along with nurse Valerie Voze (Margot Robbie) and lawyer Harold Woodsman (John David Washington). The trio, who became friends during the first world war, now have to get together again to clear their names whilst uncovering a high-reaching conspiracy.

The critical reception for Amsterdam has been mostly negative. I can see why, as it is tonally all over the place, though it was only in one place towards the end when a serious moment is punctuated by two rival gangs bursting into song, that it grated. Also, some of the performances feel forced in the supporting cast. Chris Rock, Alessandro Nivola, and Rami Malek are the worst offenders.

However, once it settles down after a chaotic opening, I found it pretty enjoyable. It zips along quite well, and I could not see where the story was going until near the end. In a star-studded cast, Robert De Niro stands out as a principled general. Mike Myers gives a performance we have seen before as a posh MI6 agent, but it is a fun one. Zoe Saldana is also really good as a medical colleague of Burt’s.

Not for everyone, but I think Russell can always be relied on to deliver something that entertains.

Rating: 7.5 out of 10