Sosuke (Hiroki Doi) é um garoto de cinco anos que mora em um penhasco, com vista para o Mar Interior. Um dia, ao brincar na praia, encontra Ponyo (Yuria Nara), um peixinho dourado cuja cabeça está presa em um pote de geleia. Ele salva a peixinho e a coloca em um balde verde. Trata-se de amor à primeira vista, já que Sosuke promete que irá cuidar dela. Só que Fujimoto (Jôji Tokoro), que um dia foi humano e hoje é feiticeiro no fundo do mar, exige que Ponyo retorne às profundezas do oceano. Para ficar ao lado de Sosuke, Ponyo toma a decisão de tornar-se humana.