Fluke is a mutt puppy (a wrong colored Golden Retriever, played by dog actor Buddy, voiced by Sam Gifaldi), who has flashing memories and dreams of having lived a human life. After being taken to a pound and eventually escaping, he is raised by an elderly homeless woman named Bella (Collin Wilcox Paxton), who gives him the name Fluke, stating that he is "a fluke by nature, and by name."
After Bella dies of an illness due to poor conditions, Fluke meets a street-wise dog named Rumbo (voiced by Samuel L. Jackson) who takes him to see a man named Bert (Bill Cobbs) who feeds Fluke and Rumbo. Fluke matures into an adult dog (now voiced by Matthew Modine) and eventually realizes that he was once a man named Thomas P. Johnson (also portrayed by Matthew Modine), who died in a car crash.
Fluke is then abducted by a man named Sylvester (Ron Perlman) to be used in makeup experiments at a cosmetics company. During his captivity, Rumbo comes to the rescue, and Rumbo is shot by Sylvester, as he and Fluke escape. A dying Rumbo tells Fluke that the black-and-white snapshot of a man in a sailor suit on Bert's wall was him and Bert was his brother and that he wishes to smell the sea again, suggesting that he died in the line of duty.
After Rumbo's death, Fluke seeks out his wife Carol (Nancy Travis) and son Brian (Max Pomeranc) and reunites with them by becoming their new family dog.
He suspects that his human death was caused by his former business partner Jeff Newman (Eric Stoltz) and viciously attacks him when he visits the house, and ends up getting put outside. During his life as a dog, he gets to know his family better and regrets his decisions as a workaholic.
Fluke comes close to killing Jeff by causing him to get into a car accident that ends up with him being injured, but has a flashback and realizes that Jeff wasn't responsible for his death. Instead, his death was caused by his own anger and recklessness.
Fluke eventually manages to show his wife who he really is by digging away the snow covering the word "forever" at the bottom of his tombstone, something that in his human life, he would often say to his wife. She is shocked, but understanding, and with a heavy heart, he decides to leave and never return. He realized that life is simply meant to be cherished, regardless of how one lives it.
Far away and sometime later, Fluke is resting under a tree on a farm by himself. To his surprise and happiness, he is reunited with Rumbo, now reincarnated as a squirrel. Rumbo tells Fluke about life as a squirrel and about reincarnation.Matthew Modine as Thomas P. Johnson, a workaholic, Jeff's best friend, Carol's husband and Brian's father
Nancy Travis as Carol Johnson, Thomas's wife, Brian's mother
Max Pomeranc as Brian Johnson, Thomas and Carol's son
Eric Stoltz as Jeff Newman, Thomas's best friend
Bill Cobbs as Bert
Ron Perlman as Sylvester
Jon Polito as Boss
Collin Wilcox Paxton as Bella
Buddy as Fluke
Matthew Modine as Fluke
Sam Gifaldi as Young Fluke
Samuel L. Jackson as Rumbo, Fluke's best friend
Reviews of Fluke were negative with film review website Rotten Tomatoes tallying only 27% of its collected reviews as positive, giving the film a label of "Rotten". Despite these poor reviews both Roger Ebert and Gene Siskel gave it thumbs up , and the film also received a rating of 6.6/10 from the movie website Internet Movie Database. In addition to IMDb, Allmovie's reviewer Mark Deming gave the film 3/5 stars. Fluke underperformed at the box office, generating just under $4 million in the American box office. Fluke was nominated in 1996 by the Academy of Science Fiction, Fantasy & Horror Films for Best Fantasy Film and Best Performance by a Younger Actor for Max Pomeranc.