A baleia Willy foi capturada e confinada em um tanque. Sua chance de voltar ao oceano é a amizade de um garoto de 12 anos chamado Jesse. Um filme que fala da importância da verdadeira amizade.
Dois anos depois de ajudá-la a se libertar do cativeiro, o garoto Jesse (Jason James Richter) e e a orca Willy se reencontram na costa do Oceano Pacífico. O jovem leva uma vida tranquila ao lado de seus pais adotivos e a baleia assassina agora nada acompanhada de seus novos amigos. Os dois vão embarcar em uma nova aventura para evitar que um grande vazamento de óleo os separe mais uma vez.
Jesse (James Jason Richter) é um adolescente cuja vida foi modificada por sua amizade com a baleia Willy. Jesse está passando o verão a bordo de um navio, auxiliando pesquisadores de baleias, incluindo Randolph Johnson (August Schellenberg), um velho amigo, e Drew Halbert (Annie Corley), uma oceanógrafa. Jesse usa um teclado eletrônico para se comunicar com Willy, sendo que quando ele toca um sinal através do sistema submarino de som do navio descobre que Willy está agora criando sua família. Enquanto Jesse, Randolph e Drew estudam e ajudam as baleias, um garoto de dez anos, Max (Vincent Berry), está acompanhando John Wesley (Patrick Kilpatrick), seu pai, em um barco de pesca. Logo Max descobre que John e sua equipe não estão pescando salmão, como ele acreditava, mas matando baleias, que é ilegal mas bem lucrativo, pois um quilo de carne de baleia vale 440 dólares no mercado negro.
Norman Robberson (Chevy Chase) é o pai carinhoso e afável de uma família urbana típica dos anos 1990. Seu pequeno vício é a obsessão por programas policiais na TV e a sua mais recente fantasia é participar de algo como bandidos e mocinhos na vida real. Jake Stone (Jack Palance) é o detetive mais durão da corporação e não se desvia das missões um milímetro sequer. Para perseguir um criminoso, os oficiais liberados pelo temível Detetive Stone se mudam para a casa da família Robberson e ficam de tocaia no inimigo instalado na casa vizinha. Para o detetive Stone o pesadelo apenas começou, mas para Norman, um suave e tranquilo contador, o sonho hilariante tomou vida.
Bastian (Jason James Richter) se esconde em uma biblioteca ao fugir de uma gangue de garotos. Lá ele encontra o livro "A História Sem Fim". Decidido a esquecer seus problemas, ele começa a lê-lo e novamente chega a Fantasia. Só que o líder da gangue encontra o livro caído no chão e passa a escrever nele diversas maldades e perigos, o que faz com que o reino torne-se um pesadelo. O único jeito de salvar Fantasia é com Bastian retornando ao mundo real para resgatar o livro.