Psychologist Kris Kelvin (Donatas Banionis) spends his last day on Earth reflecting on his life while walking by a lake near his childhood home where his elderly father still resides. Kelvin is about to embark on an interstellar journey to a space station orbiting the remote oceanic planet Solaris. After decades of study, the scientific mission at the space station has barely progressed.
The crew is sending confusing messages. Kelvin is dispatched to evaluate the situation aboard the ship and determine whether the venture should continue. Henri Berton (Vladislav Dvorzhetsky), a former space pilot, visits Kelvin. They watch film footage of Berton's own testimony years before of seeing a four-meter-tall child on the ocean surface of Solaris while searching for two lost scientists.
However, the cameras of his craft recorded only clouds and the flat ocean surface; Berton's report was dismissed as hallucinations. After failing to convince Kelvin of the reality of his experience, Berton angrily departs, only to contact Kelvin later via videophone from his private car. He explains that he met the child of a scientist lost on that mission, and the child was like a much smaller version of the one he had seen on Solaris.
Before departing Earth for Solaris, Kelvin destroys most of his personal mementos in a bonfire, noting the volume of keepsakes he has accumulated. In Kelvin's last conversation with his father (Nikolai Grinko), they realize that the father will probably not live to see Kelvin return. Although he readily accepted the mission, it is a choice that weighs heavily upon Kelvin's conscience.
Upon his arrival at Solaris Station, a scientific research station hovering above the oceanic surface of the planet Solaris, none of the three remaining scientists bother to greet Kelvin, who finds the disarrayed space station dangerously neglected. He soon learns that his friend among the scientists, Dr. Gibarian (Sos Sargsyan), had killed himself. The two surviving crewmen are uncooperative and evasive.
Kelvin soon glimpses other people aboard the station, not supposed to be there. Upon entering the late Gibarian's room, Kelvin finds a rambling cryptic farewell video message from Gibarian addressed to him. Waking exhausted from a restless sleep, Kelvin finds a woman with him in his quarters despite the barricaded door. To his surprise, it is Hari (Natalya Bondarchuk), his late wife who committed suicide some years before.
She is unaware of what has happened or how she got there. Terrified by her presence, he lures her into a space capsule and launches the replica of his wife into outer space. In his haste to be rid of her he is scorched by the rocket’s blast. Dr. Snaut tends to his burns and explains that the “visitors” began appearing after the scientists attracted the attention of Solaris, seemingly a sentient entity.
That evening, Hari reappears in his quarters. This time Kelvin calmly accepts her presence and embraces Hari throughout the night. Kelvin later causes her to panic by suddenly leaving the room and shutting the door behind him. She hysterically tears her way through the room's metal door, severely cutting herself. Before he can give first aid, her injuries heal before his eyes.
Dr. Sartorius (Anatoli Solonitsyn) calls for a meeting, and Kelvin introduces Hari as his wife. In their symposium, the scientists begin to understand that Solaris created Hari from Kelvin’s memories of his dead wife. The Hari present among them, though not human, thinks and feels as though she were. Sartorius theorizes that the visitors are composed of "neutrino systems" but that it might still be possible to destroy them through use of an offscreen device known as "the annihilator".
Kelvin shows Hari films of himself and his parents when he was a boy and, later, of his wife. While she is asleep, Snaut proposes beaming Kelvin’s brainwave patterns at Solaris in hopes that it will understand them and stop the disturbing apparitions as communication. However, Sartorius suggests a radical attack of heavy radiation bombardment. In time, Hari becomes independent and is able to exist away from Kelvin’s presence.
She learns from Sartorius that the original Hari had committed suicide ten years earlier, and Kelvin is forced to tell her the entire story. Sartorius, Snaut, Kelvin and Hari gather together for a birthday party which turns into a philosophical argument during which Sartorius tells Hari that she is not human, but a mere copy. Distressed, Hari kills herself again by drinking liquid oxygen, only to painfully, spasmodically resurrect a few minutes later.
On the surface of Solaris, the ocean is moving even faster. Kelvin goes to sleep only to wake up agitated and running a fever and gives a monologue to Snaut on the subject of suffering and universal love, then falls asleep again. He dreams of his mother as a young woman, caring for him and expressing her worry concerning Kelvin's emotional state. When he awakens, Hari is gone, and Snaut reads him the farewell note she left behind.
The note indicates that Hari petitioned the two scientists to destroy her. Snaut tells Kelvin that since they broadcast Kelvin’s brainwaves at Solaris, the visitors stopped appearing and islands began forming on the planet's surface. Kelvin debates whether or not to return to Earth or to descend to Solaris in hopes of reconnecting with everything he has loved and lost.
Again at the shore of the frozen lake, Kelvin finds himself at his father's house. His dog runs to him, and he happily walks towards it. He realizes something is peculiar, however, when he sees that his father seems oblivious to the fact that it's raining inside the house. Father and son embrace on the front step of the lakeside house which the camera zooms out to reveal is located on an island in the middle of an ocean on the planet Solaris.