Sosuke, un bambino di 5 anni, mentre gioca in riva al mare, in una spiaggia rocciosa, vede un pesciolino rosso incastrato, in un barattolo di marmellata.
La soccorre subito e la mette in un secchio verde.
Senza sapere il suo nome la chiama Ponyo, ma lei in realtà si chiama Brunilde. Fujimoto, il padre di Ponyo, appena seppe che la figlia stava con Sosuke, la obbliga a tornare con lui in fondo al mare.
Lei affezzionatasi a Sosuke tenta la fuga; trasformandosi in una bambina rovesciando l'elisir magico del padre nel mare.
Sfortunatamente questo elisir provocò uno tsunami che invase il luogo dove viveva Sosuke.
Perché il mare si ritiri e restituisca a Ponyo la sua libertà e a Sosuke la sua mamma, il bambino dovrà affrontare una prova e riportare l'equilibrio tra il genere umano e la natura.