An abused Beagle puppy runs away from his cruel owner, Judd Travers, and meets a boy named Marty Preston. The puppy follows the boy to his home, but is not allowed to stay with him. Marty names him Shiloh and decides to remodel an abandoned shack at the top of a hidden hill for Shiloh to stay in for the next few weeks as he bonds with him. Marty's strict father, Ray Preston, will not let Marty keep Shiloh because he belongs to Judd Travers. Judd is a mean old man that hunts with his dogs. Shiloh was the most mistreated in the pack. Marty hesitantly returns Shiloh to Judd, but, after Shiloh is mistreated again, the dog returns to Marty. Knowing Ray will make him take Shiloh back to Judd, Marty decides to hide Shiloh in a shed behind his house. His secret is soon revealed when his mother, Louise Preston, comes up the hill and sees Marty and Shiloh bonding. When a German Shepherd belonging to the Bakers family attacks Shiloh, Marty turns to Ray for help. Marty takes Shiloh to a vet and Shiloh recovers quickly. Soon, Ray says that it is time to take Shiloh back to Judd. Marty urges his father to keep Shiloh, pleading about how Judd abuses the dog. Ray initially agrees to keep Shiloh until he recovers, and tries not to become attached to Shiloh. That night, when Ray thinks Marty is asleep he gives the dog a treat, and soon his heart softens toward granting Marty's wish. Eventually Marty goes to see Judd, and asks him if he can clean up Judd's place in exchange of Shiloh. Judd agrees. Marty works the next few days at Judd's, and is very excited to get his new pet. After all of Marty's hard work, Judd says that there were no witnesses to the deal, and that a contract is not valid without it. Marty fights with the beer-guzzling Judd, because he worked a lot for Shiloh. Marty continues working, though, sometimes overtime without being paid a penny more. Marty told Judd that he wanted Shiloh and that he worked very hard for nothing. Marty keeps Shiloh for the next few days, until Judd comes again to take the dog. Marty fights with Judd again about keeping Shiloh with the help of Ray. Judd then tries to kidnap Shiloh. Ray comes to the rescue and knocks Judd down, and they both fight. Judd escapes Ray, grabs Shiloh, and drives away in his truck. Marty can already tell how much Judd is going to abuse Shiloh. Watching Marty and Shiloh in the mirror, Judd seems to consider everything and releases Shiloh from his truck and the dog runs into Marty's arms. Sheena Easton sings the theme "Are There Angels" for the Shiloh soundtrack during the credits, which show Marty happily walking with Shiloh at his side.
gave the film 3.5 stars out of 4, calling it "a remarkably mature and complex story about a boy who loves a dog and cannot bear to see it mistreated" and that "it deals with real moral issues: with property, responsibility and honesty, and with whether there is a higher good that justifies breaking ordinary rules." It has a rating of 73% on Rotten Tomatoes.