In the late 21st century, an interstellar war between humans (associated as the Bilateral Terran Alliance, or BTA) and Dracs (a reptilian humanoid race) is fought. Human pilot Willis E. Davidge (Dennis Quaid) and Drac pilot Jeriba Shigan (Louis Gossett, Jr.) engage in a battle which results in both crash-landing on Fyrine IV, a strange, dark alien world with two moons, a breathable atmosphere, water and bizarre animal life.|
After initial hostilities, the two eventually learn to cooperate to survive. They work together to build a shelter for protection against meteorites. Over the next three years, they overcome their differences, become friends and learn each other's languages and cultures. Each saves the other's life several times.
Davidge, haunted by dreams of spaceships landing on the planet, leaves in search of help. He finds evidence of humans, but learns that the planet has only been periodically visited by human miners known as "Scavengers", who use Dracs as slave labor. He returns to warn Jeriba (nicknamed "Jerry") to discover that Jeriba is pregnant. (Dracs reproduce asexually).
A blizzard and an attack by a predator forces Davidge and Jeriba to flee their shelter. To pass the time Jeriba teaches Davidge his full lineage. Jeriba later dies during the childbirth, but not before making Davidge swear to take Jeriba's child back to the Drac Homeworld and recite his full ancestry so he can join Drac society.
Davidge raises the child Zammis (Bumper Robinson) as his own. Davidge and Zammis form a very close bond, and although the young Drac refers to Davidge as its "uncle", it loves Davidge as a son would love a father. Davidge discovers Scavengers have returned to the planet, so he remains on guard should they run into any of the miners. However, Zammis is curious and goes to get a closer look at the ship. He is discovered by a pair of Scavengers, but Davidge, who has been following, attacks the brothers to save Zammis, but is gunned down. later, a BTA patrol ship finds Davidge, apparently dead and returns him to his base space station.
On the station, during an impersonal funeral ceremony, Davidge suddenly awakens when a disposal technician tries to steal the book Jerry gave him years before to learn the Drac language. Davidge's old team vouch for his loyalty, even after the find he speaks the enemy's language fluently. Davidge is later reinstated to duty, but not as a pilot they want to make sure he wasn't brainwashed by the Dracs.
Unable to get help in rescuing Zammis, Davidge steals a spaceship to find the child by himself. He manages to find the Scavenger ship and sneak aboard. Davidge speaks to the Drac slaves in their own language and convinces them to overcome their human overseers and find Zammis. Towards the end of the battle, Davidge is assisted by the BTA crew who pursued the stolen ship. They realize that whatever it was he experienced while missing in action (MIA) has made him more human; he no longer hates Dracs.