It also has a few major weaknesses, which are rather unnecessary and annoying.
Like the supposedly spectacular opening sequences which throw a lot of action at us, but which just fall flat because the audience hasn't been warmed up yet — the film makers haven't given us any situations characters to care about.
They could have saved many millions of dollars and just dropped these. The movie only really begins when we go to Chewy (Joonas Suotamo), Poe (Oscar Isaac), Finn (John Boyega) and Rey (Daisy Ridley).
We care about these guys all right, especially Rey. Daisy Ridley has a great face, a killer smile and, above all, lots of heart.
Adam Driver who plays the bad guy, Kylo Ren, also has a great face.
Foolishly, it is periodically concealed in a Darth Vader style helmet — though at least the film makers are smart enough to minimise this.
Essentially the movie is about the contrasting faces, and personalities, of Rey and Kylo in a kind of yin-yang opposition. This is the essence of the narrative.
Not the crappy storyline, which consists of the immensely dull and mechanical pursuit of a bunch of boring plot coupons.
As a result of it we get dialogue like, "The location of the wayfinder is inscribed on this dagger." Ouch.
Mind you, that's not as bad as the (apparently unironic) utterance, "I have a bad feeling about this."
However, the action set pieces that are sequenced along this dodgy storyline are truly splendid — like real pearls strung on a dirty, fraying piece of string.
The locations are also first rate, and varied. We go to snow planets, desert planets and ocean planets. And there's a memorable shot near the end where the twin suns of Tatooine wittily echo the double spherical structure of the droid BB-8.
Speaking of BB-8, he gets a new buddy in this movie (I thought it was going to be a romance, but no such luck) with a new droid called D-0 aka 'Cone Face'.
And there's a lovely warm moment when Rey gives reassurance to the skittish little droid, who has been mistreated in the past. ("You're with us now.")
But it's the conflict between Rey and Kylo Ren which is really wonderful here, with them having a psychic connection which enables the pair to see each other even when they're parsecs apart.
Which leads to the cool discovery that some of the physical objects surrounding Rey or Kylo can spill from one location to the other, when they are psychically connected. And this becomes a neat plot point.
Meanwhile, Rey is in the process of becoming a Jedi and her powers are growing, leading to a glorious bit where she virtually tugs a spaceship back down to the ground to try and stop Chewie being taken prisoner.
Unfortunately this leads to the old Superman problem... Rey is growing so powerful that, for instance, in what should be a nail biting sequence of her climbing at a great height, suspense starts draining away.
After all — isn't she virtually invulnerable?
Much worse, though is the gradual revelation of Rey's background.
You might recall that she started out in this franchise as a scavenger, a nobody, the lowest of the low.
Well, all that is discarded here as we discover that she actually has a glamorous background and a secret origin. She isn't a lowborn scumbag like you or me. She's someone special.
This is the fallacy of the "chosen one" that genre writers keep falling into. (My friend Ben Aaronovitch's Peter Grant series is an honourable exception.)
Basically it tells you that if you aren't descended from gods or royalty, then you're worthless.
It's a great shame that a film that otherwise strives for inclusion and diversity should be peddling such damaging nonsense.
It's also incredibly lazy plotting.
But this is still a terrific movie, and a Christmas treat.
(Image credits: A galaxy of posters at Imp Awards, though Adam Driver as Kylo Ren is reprehensibly under-represented.)