While on a boat at Cape Cod in 1964 with his family, Allen Bauer sees something in the water and dives in, much to the alarm of his family. Unknown to them, Allen has actually seen a little mermaid. However, noone else sees her as Allen is plucked from the water and returned to his parents, much to the sadness of the mermaid as she watches the boat leave.
20 years later, Allen (Tom Hanks) now runs his family's produce distribution business, as well as continues his boyish search to find true love. Along with his feelings, Allen must also contend with his lecherous but still caring brother Freddie (John Candy), who takes love a bit less seriously than his brother.
After attending the wedding of a work associate (Bobby Di Cicco), Allen gets drunk and for some reason, decides to go to Cape Cod. Arriving there, he comes across a short-tempered scientist named Cornbluth (Eugene Levy), who is there to search for mermaids in the waters off the town (unknown to his two bumbling crewmembers, or Allen).
Allen charters a small motorboat to get to Cape Cod, but a mishap sends him over the side. After almost drowning, Allen finds himself on land with a beautiful blonde woman (Daryl Hannah), who quickly disappears back into the water (once in the water, her legs become fins, unseen to Allen). Allen pleads to know who she is, but she does not respond.
In the water, the mermaid finds Allen's wallet, and swims away, but not before having a chance encounter with Cornbluth. After swimming away, she goes to a sunken ship, and using the information in his wallet and some old maps in the sunken ship, finds out where Allen lives.
A couple days later, Allen returns to New York, and on the same day, the mermaid shows up naked at the Statue of Liberty, with Allen's wallet. Allen receives a call from the NYPD, and heads to the station where the girl is being held. After she is released into his custody, Allen takes her to his apartment.
The next day, Allen shows up for work happier than usual, much to the shock of Freddie, whom Allen decides to take over more of the responsibility of the family business. Upon returning home later in the day, Allen is shocked to find the woman is missing! The doorman claims she got in a cab going to Bloomingdale's, and Allen heads there immediately. He finds her there with a whole new wardrobe, and also finds that she is now able to talk. When Allen asks how, she explains that it was by watching television. As they walk home, Allen tries to ask her where she's from, but she is scant on details, only to say that she can only stay for 6 days, before the moon is full. When asking her for a name, the concept seems foreign to the woman. As he notes that they are approaching "Madison Ave," the woman decides she likes this name, and so Allen decides to call her Madison.
Allen then spends the next couple days away from work getting to know Madison. One evening, he hears her in the bathroom with the door locked, and the water running. When he asks to be let in, she panics and demands that he wait. Allen instead grows worried when he hears a thump on the floor, and knocks in the door, finding Madison wrapped in a towel on the floor, claiming she didn't want to let him in because she was "shy."
The next evening, Allen gets Madison a gift, and takes her out for a walk. When the come across a fountain with a mermaid on it, Allen recounts how it reminds him of something, but can't recall just what. Allen also notes that they are planning to remove the fountain and build condo's in the area, which Madison finds sad, thinking the fountain is beautiful.
Freddie then informs Allen that he has managed to get tickets to an event where the President of the United States will be present. Allen is impressed, but asks if he can take Madison instead of Freddie along. Freddie playfully teases his brother that he's in love, but Allen insists he's not. Allen goes on to explain that he just isn't sure, and that something just seems strange when it comes to Madison, noting the incident with the TV's as well as the bathroom.
Meanwhile, Madison's appearance at the Statue of Liberty has made it into a local tabloid. Cornbluth sees this, and informs his colleagues in New York. However, one of his colleagues named Dr Ross finds Cornbluth's mermaid theory to be ridiculous. Cornbluth is sure that when she is not in the water, the mermaid's fins become legs on dry land. He then sets out across New York attempting to find Madison and throw water on her.
As the days tick away before Madison leaves, Allen attempts to ask her to marry him. However, she refuses Allen's offer, and he grows irritated at her, regarding how secretive she has been about where she comes from. Madison then runs away, and Allen attempts to find her, before returning to the produce center. Shortly after arriving, Madison returns, and this time decides to accept Allen's proposal.
Allen is eager to get married now, but decides to do so after the event with the President. However, as the two of them are leaving the event, Cornbluth sees Madison, and ends up spraying her with water, revealing her secret to Allen, and to a contingency of press.
Both Allen and Madison are taken to a secret location New York Natural History Museum, where Allen is also suspected of being part-fish. Allen and Madison are kept in isolation, but Madison is soon put into Allen's tank. She attempts to apologize for not revealing her secret, but Allen silently refuses to listen to her.
After it appears he is not half-fish, Allen is released, only to be mobbed by press outside his apartment. Freddie manages to get Allen out of there, and they return to the office at the family business. Allen is still upset that in his search for love, the one girl he fell madly in love with has turned out to be a fish. Freddie chastises Allen for his attitude, claiming that in the last few days, his brother has been happier than he (Freddie) has ever been with a woman.
Cornbluth meanwhile, has been allowed to view Madison, but has not been allowed to voice opinions regarding her care and well-being. The scientist in charge of project, Dr Ross, explains his plan to see how Madison reacts to other marine life before his people dissect her. Cornbluth voices his dissension, but Ross just chides him along.
Now feeling miserable for what he has done, Cornbluth is surprised when he is found by Allen at the dentist. Allen has decided that he loves and wants to save Madison, and needs Cornbluth's help.
Along with Freddie, the three of them infiltrate the lab, and make off with Madison, leaving Freddie behind to distract them for a bit.
Madison's escape is soon found out, and the Military begins a chase through the Manhattan streets. Cornbluth at one point jumps out in an attempt to buy some time, but ends up almost being run over.
Finally, off a pier on the Hudson River, Madison and Allen say their farewells, with Madison explaining to Allen that he can come with her, but if he does, he cannot come back to land. It is also here that she finally reveals that she was the little girl he saw in the waters off Cape Cod, and Allen is overjoyed to know that it was all real.
As the Military at first closes in, Allen has Madison swim off, but as he watches her leave, he dives in after her, though he is unable to swim. Just as when he was a boy, Madison rescues Allen, but soon, the two have to contend with divers trying to stop the two of them.
After a small skirmish, Madison grabs Allen's hand, and they swim away. Thanks to a kiss by her, Allen is now able to breathe underwater, and after some time swimming, they make their way to a distant underwater kingdom.