A novela Por Amor (1997) acompanha a relação intensa entre mãe e filha, marcada por um segredo devastador. Helena (Regina Duarte) e Maria Eduarda (Gabriela Duarte) viajam para Veneza em momentos distintos de vida. Lá, conhecem Atílio (Antonio Fagundes), arquiteto que desperta o interesse de Helena, dando início a uma história de encontros e rupturas.
Enquanto isso, no Rio de Janeiro, Marcelo (Fábio Assunção), noivo de Maria Eduarda, lida com a perseguição da ex-namorada Laura (Vivianne Pasmanter) e o controle da mãe, Branca (Susana Vieira). Eduarda, insegura e mimada, sofre com o relacionamento conturbado e com a rejeição ao pai alcoólatra, Orestes (Paulo José).
De volta ao Brasil, Atílio encerra o relacionamento com Isabel (Cassia Kis) e enfrenta o assédio de Branca, antiga paixão. Apaixonado por Helena, casa-se com ela, unindo definitivamente os destinos dos dois casais. Pouco tempo depois, Helena e Maria Eduarda engravidam quase simultaneamente.
Durante o parto, Eduarda perde o filho e o útero. Helena, por sua vez, dá à luz um bebê saudável. Comovida com a dor da filha, ela decide trocar os bebês com a ajuda de César (Marcelo Serrado), médico apaixonado por Eduarda e amigo íntimo da família. A decisão muda a vida de todos.
Helena finge que seu bebê morreu e Eduarda passa a cuidar do sobrinho como filho. César se sente culpado pela mentira, e Helena precisa amamentar a criança no lugar da filha. O segredo pesa sobre os dois por anos, até o dia em que a verdade finalmente vem à tona.
No último capítulo de Por Amor, Maria Eduarda descobre a troca e confronta a mãe. Atílio, chocado, decide sair do país. Eduarda e Marcelo perdoam Helena e adotam uma menina. Na cena final, os personagens caminham unidos no Jardim Botânico, encerrando a história com afeto e reconciliação.