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.