A trama central é o triângulo amoroso formado pelo açoriano Daniel (Ricardo Pereira) e as irmãs Nina (Alinne Moraes) e Lenita (Mel Lisboa). As duas conhecem o rapaz numa viagem que fazem a Portugal junto com os pais, Sinésio (Hugo Carvana) e Mariléia (Denise Del Vecchio), e logo se interessam por ele. Daniel, no entanto, está envolvido com a portuguesa Almerinda (Joana Solnado).
Como Uma Onda: Daniel conhece Nina
Daniel é filho de um homem libertário que, no passado, tornou-se um desertor ao recusar uma convocação do exército para lutar na guerra contra as colônias portuguesas. O pai de Almerinda, Figueiroa (Antonio Reis), é um militar conservador que não concebe a ideia de ver sua filha envolvida com o filho de um “traidor da pátria”. Um dos encontros secretos do jovem casal é interrompido pelos capangas do almirante Figueiroa, e Daniel é obrigado a se disfarçar de guia turístico para despistá-los.
Como Uma Onda: Lenita beija Daniel
É assim que ele conhece Nina e sua família, que estão visitando o país. Os capangas do almirante batem em Daniel e o colocam desacordado em um transatlântico rumo ao Brasil. Coincidentemente, Nina e Lenita estão no mesmo navio, voltando para casa. As duas reconhecem o rapaz e decidem ajudá-lo a escapar da polícia – somente com a roupa do corpo, ele corre o risco de ser preso por estar viajando clandestinamente para o Brasil. Daniel, entretanto, é encontrado e, num impulso, atira-se ao mar.
Como Uma Onda: Nina reconhece Daniel no navio
As ondas o levam até uma vila de pescadores no litoral de Santa Catarina, em Florianópolis, no sul do Brasil, onde ele é resgatado por Quebra-Queixo (Ernani Moraes) e Querubim (Dudu Azevedo). Desconfiado, o português segue pela praia e acaba se juntando a um grupo de mendigos. Mais tarde, sujo e maltrapilho, é encontrado por Lenita, que o leva para casa a fim de dar um novo rumo à vida do rapaz. Ele é contratado como mordomo da família e passa a ser motivo de disputa das irmãs. Aos poucos, Daniel vai se interessando por Nina, e os dois vivem um grande amor.
Jorge Junqueira: o vilão
O grande vilão da história é Jorge Junqueira (Henri Castelli), conhecido como JJ, sócio de Sinésio numa indústria pesqueira. Homem sem escrúpulos e capaz de tudo para atingir seus objetivos, JJ é apaixonado por Nina e encontra em Daniel seu grande inimigo. Lenita também não aceita a relação da irmã com o português e acaba se aliando a JJ. A fim de separar o casal, os dois não hesitam em lançar mão de uma série de armadilhas.
Como Uma Onda: O vilão Jorge Junqueira
Sinésio, ao voltar da Europa, descobre que está quase falido, e JJ ameaça afastá-lo dos negócios caso Nina não se case com ele. A moça, embora ame Daniel, cede à chantagem para poupar o pai.
Daniel, por sua vez, é surpreendido pela gravidez de Almerinda, que chega ao Brasil à sua procura, orientada por JJ. A portuguesa passa por maus pedaços. Ela dá à luz uma filha e, no fim da história, é convencida a se submeter a uma cirurgia por causa de um aneurisma cerebral. Almerinda tem um final feliz ao lado do neurocirurgião João Gabriel (Leonardo Vieira), responsável por sua cura.
Ameaça à vila de pescadores
'Como Uma Onda' também mostra a briga entre os pescadores da região e o mau-caráter JJ (Henri Castelli), que pretende se tornar um grande empresário marítimo. Ele quer dominar os cultivos de ostras e mariscos e construir um resort na localidade, não se importando em acabar com o sustento de grande parte dos moradores. Daniel se junta à causa dos pescadores e provoca ainda mais revolta em JJ.
Como Uma Onda: Morte de Jorge Junqueira
O vilão JJ é assassinado dez dias antes do término da novela, após sequestrar Nina e mantê-la cativa em um caminhão frigorífico. Daniel consegue localizá-la e vai em seu socorro, mas JJ consegue trancá-lo no caminhão. No local do cativeiro, alguém que o público não vê avança em direção a JJ, que se assusta e cai em um precipício. A identidade dessa pessoa só é conhecida no último capítulo.
Como Uma Onda: A morte de JJ é desvendada
Final com festa na aldeia
A novela chega ao fim com o casamento de Daniel e Nina, na mesma cerimônia de união dos jovens Júlia (Maytê Piragibe) e Querubim, quando é realizada uma grande festa na aldeia. A morte de JJ é desvendada: Menez (Amir Haddad) confessa ser a pessoa que JJ vê antes de cair do precipício. Ele estava no encalço de JJ porque este foi o empresário que, há dez anos, atropelou seu filho, o ciclista Luis, e depois incriminou Sandoval (Herson Capri), levando-o a dez anos de prisão, acusado injustamente pela morte do rapaz.
Como Uma Onda: Final com festa na aldeia
Sandoval assumiu a culpa do acidente a pedido do pai de JJ, seu patrão na época, que garantiu lhe arranjar um bom advogado para livrá-lo da prisão, o que não aconteceu. Sandoval era apaixonado por Encarnação (Bianca Byington), a irmã de JJ, e os dois chegaram a se envolver. Encarnação deu à luz ao menino Rubico (Arthur Lopes), que passou a ser criado por ela e JJ como órfão, ignorando a identidade de seus pais. JJ sempre fez tudo para manter Sandoval afastado da irmã e do sobrinho. No fim da trama, eles se reconciliam e Rubico conhece a verdade sobre sua origem.
Como Uma Onda: Sandoval conta para Daniel todo seu passado
Já Lenita descobre por Ana Amélia (Débora Olivieri), a mãe de JJ e Encarnação, que é sua filha. A revelação a leva a fazer uma reavaliação de sua vida. Ana Amélia, a Naná, abandonou os filhos no passado para ir atrás do amante. O abandono da mãe seria um dos fatores que teriam transformado JJ em um homem frio e calculista.
Ainda no último capítulo, os mendigos amigos de Menez revelam-se anjos, e sobem ao céu.