Luca Paguro is a pre-teen sea monster living on the coast of the Italian city of Portorosso and spends his days herding a school of fish. His parents, mother Daniela and father Lorenzo, restrict him from going to the surface in fear that a human might kill him, but this restriction ends up making Luca feel bored.
One day, when being conflicted about going to the surface or not, he meets another young sea monster named Alberto Scorfano, who has been on land many times on a small island near Portorosso and when he eggs Luca to follow him, Luca discovers that he and Alberto can transform into humans when they get dry on land.
They go to Alberto's hideout in a small tower on the island full of human collectables and Alberto claims that he lives with father. Luca finds a poster in the hideout showing a Vespa, an Italian scooter, and they soon decide to spend the next few days making one out of scratch all while Luca tries to keep his now double-life a secret from his parents with only his grandmother being clued in and keeping it a secret.
Soon however, Lorenzo and Daniela discover what Luca has been doing and decide that Luca should be sent deeper into the ocean to live with his distant relative, Uncle Ugo. Distraught, Luca runs away to the surface with Alberto and together, they go to Portorosso where they soon earn the ire of local bully, and repeat champion of the Portorosso Cup Race, Ercole Visconti.
Just as Ercole is about to dunk Luca's head into a fountain (which would expose his identity as a sea monster), they are soon saved by a young girl named Giulia Marcovaldo and she takes them to her house where she lives with her one-handed father Massimo, who is an expert fish hunter and is seeking to kill a sea monster, much to their fear. Meanwhile, Daniela and Lorenzo can't find Luca anywhere and they soon decide to go up to the surface to find him.
Luca, Alberto and Giulia decide to enter the Portorosso Cup Race to win a Vespa. The race consists of three challenges, swimming laps, eating pasta and riding a bike through the town and each take up an individual task (Giulia takes up swimming, Alberto takes up eating Pasta and Luca takes up riding a bike). Over time, Ercole starts to become suspicious of the boys and Luca and Giulia start to get more close with each other and when Giulia talks about going to school in another part of Italy, since she only spends summer in Portorosso with her father, Luca develops an interest in it.
A jealous Alberto soon causes himself and Luca to fall near open waters, where Luca luckily hits the ground but Alberto hits the water, revealing his identity to Giulia and Ercole, who attacks Alberto along with his cronies, Cicco and Guido, but Luca keeps silent about his identity. Feeling betrayed, Alberto retreats to his hideout.
Back at Giulia's house, Giulia spills water on Luca, exposing him as a sea monster. Rather than judge him for it, Giulia expresses worry that someone could hurt Luca if he is ever found out. Soon, Luca finds Alberto in his hideout sulking. Luca decides to still enter the Vespa race for the sake of their friendship. When the day of the race begins, Luca and Giulia enter the race without Alberto. After completing two of the challenges, they enter the bike race. It begins to rain and Luca tries to avoid being turned back into a sea monster by wearing a silver bowl.
When Alberto tries to help Luca, he is transformed and Ercole throws a net at him. Risking his secret being exposed, Luca flies into the rain to save his friend. Giulia bumps into Ercole to prevent him from hurting them, but she ends up getting hurt herself. Luca and Alberto carry her back to town. When they get there, Ercole tries to kill Luca with a spear, but Luca puts the bully in his place. The entire town of Portorosso see that the sea monsters aren't really bad, especially Massimo, who thanks the boys for helping his daughter.
Luca is reunited with his parents and they soon meet Alberto's family. Soon, Roberto reveals that he sold the Vespa that he and Luca won in the race in order to afford a train ticket so that he can go to school with Giulia. The movie ends with Luca's family, Massimo and Alberto (who has decided to stay in Portorosso) seeing Luca and Giulia off.