Confession: I have a soft spot for coming-of-age movies, especially when the main characters are quirky and sympathetic and smart and misunderstood — in other words, just how most of us viewed ourselves when we were that age.

And I have an even softer spot for coming-of-age movies that also feature an endearingly off-key high school marching band; voice-over narration from a genuinely nice kid; a tragic back story, and a wonderfully eccentric, mysterious and plot-driving new arrival to town.

‘Stargirl’: 3.5 out of 4 CST_ CST_ CST_ CST_ CST_ CST_ CST_ CST_ Disney presents a film directed by Julia Hart and written by Hart, Kristin Hahn and Jordan Horowitz, based on the novel by Jerry Spinelli. Rated PG (for mild thematic elements). Streams on Disney+ starting Friday.

Ladies and gentlemen: “Stargirl.”

Jerry Spinelli’s popular young adult novel from 2000 of the same name was initially to be adapted by Catherine Hardwicke (“Twilight”) — but the controls eventually were turned over to “Fast Color” director Julia Hart, who along with her husband-collaborator Jordan Horowitz re-fashioned “Stargirl” as a Disney+ high school comedy/drama/musical that I believe would have made the late great John Hughes proud.

Graham Verchere is Leo, who provides the V.O. for our story.

“When I was a kid, my dad died,” says Leo. “I know it’s sad but it’s true and it happened … but here’s the good news: When he was alive, he was the best.”

The 9-year-old Leo and his mom move to a small town in Arizona, to start fresh, but as Leo tells us, that didn’t quite work out as planned: “Nothing ever happened here. Like, zero things. It was a town that felt like something was missing … no trophies, no celebrations, no stories.”

For years, Leo sublimates his eccentric tendencies and certain inexplicable connections to his dead dad in order to blend in — but just as Leo is turning 16, here comes this new student, Susan “Stargirl” Caraway (Grace VanderWaal, winner of Season 11 of “America’s Got Talent”) who wears rainbow-influenced outfits that make her look kind of like a Saturday morning cartoon character come to life, has a cosmic way of expressing herself and strums a ukulele and sings.

Stargirl’s performance of the Beach Boys’ “Be True to Your School” at a football game galvanizes the team and the student cheering section. At a later game, Stargirl joins the marching band’s bass drummer and the pom-pon squad for a clap-along rendition of the Go-Go’s “We Got the Beat.”

VanderWaal is new to the acting game and still learning the nuances of dialogue and reaction, but when she strums that ukulele and puts her unique vocal spin on pop classics, she’s a star in the making, pun intended.

There’s also just the right percentage of dopey, mildly horny humor, as when Stargirl asks Leo if he’s ever done “that thing,” and Leo says his mom thinks he does it all the time when she’s not home — and Stargirl is like: That’s not what I was talking about.

“Stargirl” is a beautiful-looking film, with striking cinematography and royal color themes of maroon and gold, as if the teenage battles at play are modern-day equivalents of ancient wars.

Not that the movie isn’t also in touch with the current ways of the world. (An influential high school podcast in “Stargirl” is the 21st century equivalent of the previous generation of movies with a showdown court trial or a public hearing.)

Nearly every step of the way, “Stargirl” finds just the right notes to find the right side of the line between precious and lovely, between arbitrary and plausible, between serendipitous and condescendingly magical.

Though dealing with a slightly younger generation, “Stargirl” has the same level of intelligence and accomplished storytelling as “Love, Simon” and “Booksmart.”

It’s impossible to resist this movie.