Returning to the town of Medfield from a vacation, a family discovers that they have been robbed. The father, successful attorney Wilby Daniels, blames
district attorney John Slade, who is reputed to have connections with organized crime, particularly with warehouse owner Edward Roshak. After being robbed a second time that night (along with their neighbor), Wilby vows to run for district attorney to make his town safe again. Meanwhile, the two thugs who robbed the Daniels', Freddie and Dip, observe the
Borgia ring at a museum and assume that it might be valuable, so they steal it. The ring, however, can only be pawned off to ice cream salesman Tim, who owns Elwood, an
Old English Sheepdog. Tim plans to give the ring to his girlfriend, pastry assistant Katrinka. Unbeknownst to them, if the inscription on the ring is spoken aloud Wilby will turn into a shaggy dog. Before Wilby's live television debut, Tim discovers the inscription on the ring and reads it aloud, causing Elwood to disappear – only to reappear as he takes over Wilby's body. Wilby's son Brian notices that shaggy hair is growing all over Wilby, who starts turning into Elwood. Wilby rushes from the house and cameras in his dog form and confounds Tim, who cannot understand why Elwood can speak. When the spell wears off, Wilby regains his human form. Katrinka eventually receives the ring and reads the inscription, just as Wilby is giving a public address at a ladies garden club. Realizing that he is transforming again, Wilby creates a riot while trying to escape. Tim again finds him in Elwood's form and is convinced that his talking dog could make millions; when Tim wanders off momentarily, Wilby returns to his human form. Meanwhile, Raymond, an agent of Slade, wonders why Wilby keeps disappearing. Desperate to find the ring, the hunt leads to Katrinka, who loses it in a vat of pie filling intended for a Slade fundraiser. Offering a reward to whoever finds the ring, Katrinka and her colleagues look for it, eventually escalating into a
pie fight. During it, the thugs recover the ring and attempt to pass it off to an undercover police detective. Once again in the hands of the museum, the inscription is read aloud as a point of reference; at the police station, Wilby (who arrived to confirm that the ring had been recovered) finds himself turning into Elwood again. Raymond understands what is happening after overhearing the museum's curator explaining the curse and how his predecessor mentioned the story of a young man who turned into a sheepdog years before. Slade is informed of this, is dubious at first, and then invites Wilby to his office to test out the theory. Wilby says that after being elected, he will have Slade investigated regarding his criminal connections. Slade then reads the inscription. After Wilby turns into the dog, Slade makes a call to a
dog pound. Wilby escapes while Slade repeatedly reads the inscription. This guarantees that the spell will not wear off, and he will be trapped in a dog's form indefinitely. Slade keeps reciting the incantation over and over, ignoring warnings that doing that could cause the spell to transfer to him. Wilby tries to elude Slade, who as district attorney has the entire police force and
animal control at his disposal. Eventually, Wilby is caught and taken to the pound where he can understand the other dogs, who band together to help him escape. Aided by Brian and Tim (to whom Wilby explains what really happened), Wilby gets evidence that Slade is connected to organized crime. Wilby and Tim trick Slade into showing up at Roshak's warehouse, and Wilby uses a tape recorder to collect information that confirms Slade's wrongdoings. Aided by his dog friends from the pound, he also retrieves the ring from Slade, who has read the inscription aloud so many times that the curse has now passed onto him, causing him to transform into a
bulldog. Wilby gets elected district attorney, Slade is jailed after being stopped by the police for speeding, and Tim gets engaged to Katrinka. Together, they adopt the dogs from the pound. ==Cast==