There's a fine art to the time travel movie. They need to make the audience's head spin, but not ache. The ideas being spun in Looper are actually variations of some of the most basic of the genre.

Meeting the older/younger version of yourself, would you kill the young Hitler? – and at a calibration gentle enough that you may occasionally fancy yourself a step or two ahead it. But here's the clever bit: even when you see what is coming, it still hits you.

Looper breaks one of the conventions of time travels tales: none of it takes place in the present day. It is mostly set in 2044, when time travel hasn't yet been invented. Loopers are young guys, such as Joe (JG-L), paid to turn up at a certain place at a certain time and insert a bullet to a person sent back from 30 years in the future when law enforcement will be so tight that it will be impossible to commit a murder and dispose of a body. It's easy money but the catch is that you may be expected to Close Your Loop; execute your future self who is sent back with an extra large payment to terminate your contract.

This brings us to the question that will immediately jump into viewers' heads when the film starts – what on earth have they done to Joseph Gordon-Levitt's face?

Initially you are not even sure it is him, or assume perhaps that he's got on a mask ready for a bank robbery. The prosthetics applied to his nose and mouth are supposed to suggest that this man could grow up to be Bruce Willis, but make him look like Daniel Craig trying to be Keanu Reeves.

Anyway we all know what Willis looked like 30 years ago and there is no way this masked intruder could carry off an episode of Moonlighting.

It's an unnecessary distraction but it is really the only flaw in the movie. The script puts Levitt and Willis on an intriguing see-saw, flipping audience identification from one to the other and never leaving us sure which incarnation of Joe to side with. Rian Johnson's debut movie Brick suggested a great talent was emerging but follow up Brothers Bloom was a major misstep. Looper though is everything you could have hoped it would be: smart, funny, moving and thrilling.

LOOPER (15)

Director: Rian Johnson Starring: Joseph Gordon-Levitt, Bruce Willis, Emily Blunt, Jeff Daniels, Paul Dano and Piper Perabo

Length: 118 mins

****