Comparisons may be odious, but it is impossible to watch Rocketman without weighing it against Bohemian Rhapsody. That’s not just because both films are about gay British glam rockers who reigned over the 1970s and 80s, but because the director of Rocketman, Dexter Fletcher, was drafted in to complete Bohemian Rhapsody after the departure of Bryan Singer. Here’s the verdict, then: this year’s Elton John biopic is superior to last year’s Freddie Mercury biopic in almost every way: funnier, more moving, more imaginative, more upfront about its hero’s sexuality. The key difference is that rather than making a standard rags-to-riches biopic, the film’s creators have a clear vision of the story they want to tell, and how to tell it.

More like this:

-       Cannes 2019 review: Atlantique

-       Cannes 2019 review: The Dead Don’t Die

-       Ten must-see films at Cannes

The big concept of the film, written by Lee Hall (Billy Elliot) and brought to exuberant life by Fletcher, is that it is a proper razzle-dazzle musical with lavish dance numbers and fantasy sequences: when a schoolboy named Reginald Dwight tries out Saturday Night’s Alright for Fighting in a pub, he is whisked into a choreographed teddy-boys-and-fairgrounds reverie straight out of Grease; and when a 23-year-old renamed Elton John debuts at the Troubadour club in Los Angeles in 1970, he and the audience float magically into the air.

The framing device is a group therapy session which Elton (Taron Egerton) attends in a sparkly winged devil jumpsuit (put your money on Julian Day to win an Oscar for his flamboyant costumes). He tells his fellow addicts about his childhood in a straitlaced 1950s London suburb, and the film flashes back to the days when he got little encouragement and less affection from his strict military father (Steven Mackintosh) and his blousey mother (Bryce Dallas Howard, a puzzlingly fresh-faced and American casting choice). Luckily, young Reg was a piano prodigy with perfect pitch, and after a stint at the Royal Academy of Music, he gets a job in the backing band on a soul package tour, where an American crooner advises him to “kill the person you were born to be in order to become the person you want to be.” 

Even when its engine is sputtering, Rocketman is kept in flight by the regularly deployed Greatest Hits

A more momentous breakthrough comes when he is introduced to Bernie Taupin (Jamie Bell), the country and western obsessive who went on to write most of Elton’s most famous lyrics. The two men are instant best friends, but Elton winces when he realises that Bernie sees them as brothers rather than potential romantic partners. This, suggests the film, is his downfall. He is desperate for the kisses he didn’t get from Bernie, as well as the hugs he didn’t get from his father, so he is easy pickings for a malicious and demonically handsome manager, John Reid (played by Aiden Gillen in Bohemian Rhapsody and by Richard Madden here), who keeps him touring and recording however reliant on drink and drugs be becomes.

And, boy, does he become reliant on drink and drugs. Rocketman begins as a feelgood nostalgic romp – a camp carnival of 1970s fashion and proudly cheesy showbiz clichés. It offers the fun of seeing Elton and Bernie being pushed onwards and upwards by two irreverent record executives, Ray Williams (Charlie Rowe) and Dick James (a cigar-chomping, scenery-chewing Stephen Graham). And it offers the thrill of seeing the so-called “fat boy from Pinner” (although he isn’t fat in the film) blossom into a superstar who is responsible, we are told, for five per cent of the world’s total record sales.

But after this initial heady rush, Rocketman settles into a rut of self-indulgence and self-pity. People are never at their most interesting when they’re drugged up to the eyeballs, and Elton is drugged up to his ornately bespectacled eyeballs for a long, long time. Not that the script ever explores the true depths of addiction and depression. Instead, much of the film’s second half is essentially a flashy montage of Elton falling into swimming pools and falling out with friends, with only the ever-expanding glasses frames and ever thinning hair to distinguish one month from another. We get the gist pretty quickly: Elton is self-medicating because he feels isolated and unloved. But the film makes this same superficial point so often that the cocaine years really do seem to last for years. 

Still, even when its engine is sputtering, Rocketman is kept in flight by the regularly deployed Greatest Hits, arranged for maximum anthemic pomp by Giles Martin, and belted out by Egerton. Is he better than Rami Malek, who won the best actor Oscar for his performance as Freddie Mercury? Probably not. Egerton is more comfortable with comedy than tragedy, so his Elton is nearly a caricature of someone who was already caricaturing himself. But he is tremendously likeable, with a knack for sheepish expressions and loose-limbed physicality. And Malek didn’t sing the songs in Bohemian Rhapsody.

At its best, the film is happy both to revere its hero and to take the mickey – to heap praises on his musical brilliance one minute, and to make cheeky, sweary jibes at what a prat he is the next. When it achieves that balance, Rocketman is irresistible: a foot-stomping, big-hearted comic epic that should push Fletcher on to the directors’ A-list, and push Elton John’s albums back into the charts.

★★★★☆

Love film? Join BBC Culture Film Club on Facebook, a community for film fanatics all over the world.

If you would like to comment on this story or anything else you have seen on BBC Culture, head over to our Facebook page or message us on Twitter.

And if you liked this story, sign up for the weekly bbc.com features newsletter, called “The Essential List”. A handpicked selection of stories from BBC Future, Culture, Capital and Travel, delivered to your inbox every Friday.