When Leo Borlock's father passed away, he began to wear a porcupine tie in remembrance of him. When school started, he was beaten up and his tie was cut up. Since then on his birthday, he would receive a new porcupine tie from a mystery person, but he would not wear them in public. In high school, Leo plays trumpet in the marching band and helps his friend Kevin Singh, a member of the A.V. club, host a show called Hot Seat. One day, a free-spirited girl named Stargirl Caraway arrives and quickly makes an impression on Leo when she sings "Happy Birthday" to him on a ukulele in front of the school. Later, while their football team the Mudfrogs, who are notorious for their losing streak, are playing a game, Stargirl comes out and performs a song ("Be True to Your School") that energizes them and causes them to make their first win. Kevin suggests to Leo to invite her onto his show, but she politely refuses.
Stargirl becomes a good luck charm for the football team ("We Got the Beat") and begins hanging out with Leo in an attempt to get him to come out of his shell. He converses with Archie, the owner of the local paleontologist camp, who reveals that Stargirl, much like Leo, lives with her single mother and that she was homeschooled much of her life. She is well aware of Leo after learning about him through Archie. Later, Stargirl tries out for the Speech regionals against Kevin and wins with her unusual speech on rats. While anonymously returning a bike to a boy who was in the hospital, Leo mentions the ties, but Stargirl feigns any knowledge of it. When he asks how he knew so much about him, she tells him that she has "an office". Stargirl gives song suggestion to Leo ("Thirteen") and as he leaves, kisses him for the first time. They then spend the semester dating.
During the big game, one of the opposing players is severely injured. Stargirl runs over to check on him and rides with him to the hospital, confusing everyone. Afterward, Leo tells Stargirl that everyone was demoralized and that they lost, but they hang out together anyway. The next day, everyone is disappointed with Stargirl. Leo meets up with Kevin and the rest of his friends who are also upset, but forgive him, as well as apologize for being distant with him. Kevin decides to bring Stargirl onto his show so that she can explain herself. Stargirl reveals that her real name is Susan and that she chose Stargirl because everyone is made of stardust. The audience of students quickly turns on her when a student named Hillari scolds her for inconsiderately returning a bike to her brother who was permanently injured in an accident while riding it. Stargirl runs off in tears.
Leo tries talking to Stargirl and suggests being like everyone else, much to her consternation. Later, Stargirl starts calling herself Susan and wearing clothes that are more like those of her classmates. She and Leo head to the speech regionals where Leo asks her to the Winter Dance and she accepts. Stargirl is about to give a speech on internet privacy, but quickly shifts to a speech on flowers which wins her first place. Despite it being the very first trophy won at the school, nobody pays any attention to it. Stargirl decides that acting as Susan is to act against who she is, and she abandons the idea. Leo begins to feel awful, but gets encouragement from his mother and Kevin.
Leo unexpectedly gets Stargirl's collection of records, a record player (he previously said he did not have one) and an invite for a "big surprise" at the dance. Leo shows up and is pleased to see Stargirl there. She reveals her surprise: him singing in front of all the attendees. After some reluctance, Leo gets up and performs his and his father's favorite song ("Just What I Needed"), leading everyone to dance together in the courtyard. Afterwards, Stargirl apologizes to Hillari and disappears from the party. Leo discovers that Stargirl moved away, but that her influence had affected the school in a positive way with them eventually winning more trophies. Despite all this, Leo continued to get ties from Stargirl and Archie reveals her "office", a small shed at the camp full of information of the townsfolk. Even after graduating and attending college, Leo never forgets what Stargirl did for him ("Give Me Love (Give Me Peace on Earth)").
In a post-credits scene, at an unspecified time, Stargirl sings a song to Leo ("Today and Tomorrow").
- Grace VanderWaal as Stargirl Caraway
- Graham Verchere as Leo Borlock
- Giancarlo Esposito as Archie Brubaker
- Karan Brar as Kevin Singh
- Darby Stanchfield as Gloria Borlock
- Maximiliano Hernández as Mr. Robineau
- Shelby Simmons as Hillari Kimble
- Annacheska Brown as Tess Reid
- Collin Blackford as Benny Burrito
- Artemis as Mallory Franklin
- Allison Wentworth as Dori Dilson
- Juliocesar Chavez as Alan Ferko
- Julia Flores as Summer
- Gabriella Surodjawan as Kim
- John Apolinar as Wayne Parnell
- Alex James as Zack James
- Lucinda Markers as Principal Summers
- Sara Arrington as Ana Carraway
- Damian O'Hare as Leo's Dad
- "Be True to Your School" by Grace VanderWaal (The Beach Boys)
- "We Got the Beat" by Grace VanderWaal (The Go-Go's)
- "Thirteen" by Big Star
- "Made of Gold" by Shenna
- "Tin Man" by America
- "Just What I Needed" by Graham Verchere (The Cars)
- "Give Me Love (Give Me Peace on Earth)" by Grace VanderWaal (George Harrison)
- "Today and Tomorrow" by Grace VanderWaal
On review aggregator Rotten Tomatoes, the film holds an approval rating of 69% based on 36 reviews with an average rating of 6.25/10. The website's critical consensus reads, "Stargirl's feel-good story hits familiar coming-of-age beats, but self-assured performances and an earnest mission worn proudly make it a tune worth listening to." On Metacritic, the film has a weighted average score of 60 out of 100, based on 12 critics, indicating "mixed or average reviews".
- This film marked the last time the 1967 MPAA logo would appear in the end credits for a Walt Disney Pictures film. However, it was still not the last Disney+ original film to do so since that logo was still used for all of the Disneynature films that debuted exclusively on the streaming service on April 3, 2020.