The film starts with a storybook-like depiction of the life of 19th Century British veterinarian Dr. John Dolittle (Robert Downey, Jr.), as told by Poly the parrot (voice of Emma Thompson). He has the ability to communicate with animals, and he would travel the world with his beloved wife Lily (Kasia Smutniak), finding other scared or hurt animals and bringing them to their sanctuary. One day, Lily went sailing on a voyage with Poly, but she was caught in a terrible storm where she perished. Poly brought Dolittle her ring back, and he became so distraught that he closed up the sanctuary, shutting himself away from contact with other people.
Years later, a boy named Tommy Stubbins (Harry Collett) is hunting with his uncle and cousin. He is too nervous to hit a bird, and he accidentally shoots a squirrel named Kevin (voice of Craig Robinson). Stubbins' uncle gives him a knife to put the squirrel out of his misery, but Stubbins instead takes it with him. Poly spots the boy and tells him to follow her, where she leads him to Dolittle's sanctuary. Stubbins is startled by Yoshi the polar bear (voice of John Cena), leading him to stumble into a trap. He is found by a girl called Lady Rose (Carmel Laniado), who was sent by Queen Victoria (Jessie Buckley) on an urgent matter.
Inside the sanctuary, Dolittle is playing chess with several mice against Chee-Chee, (voice of Rami Malek) a cowardly gorilla, joined by Dab-Dab, (Octavia Spencer), a scatterbrained duck, and Jip, (voice of Tom Holland) a bespectacled dog. After learning that there are other humans outside, Dolittle sends Chee-Chee to answer the door. He and Stubbins freak each other out. Stubbins brings Kevin to Dolittle for help, while Lady Rose tells Dolittle that Queen Victoria has summoned him to Buckingham Palace. Dolittle helps Kevin recover but has no desire to leave his home. After much goading from Poly, Dolittle relents, tidies himself up, and heads out.
Dolittle rides to Buckingham Palace using Plimpton (voice of Kumail Nanjiani), a neurotic ostrich, while Poly, Yoshi, Kevin, Jip, and Dab-Dab join. Upon arriving, he finds his former medical school rival, Dr. Blair Mudfly (Michael Sheen), there to check on the queen, brought up by Lord Badgley (Jim Broadbent). Dolittle and his animals enter the Queen's room, where he talks to her pet squid and learns that she was poisoned with deadly nightshade. The only cure is the Eden Fruit, which is on a far away island. Dolittle takes it upon himself to seek the tree out and bring back the fruit to save the Queen before an eclipse occurs, at which point she will perish. Although Stubbins wants to join Dolittle and be his apprentice after being amazed by the animals, Dolittle simply sends him back home.
The next morning, Betsy the giraffe (voice of Selena Gomez) and Tutu the fox (voice of Marion Cotillard) join Poly in helping Stubbins escape his home and join Dolittle on his voyage. However, once they get to the docks, the ship has already departed. They spot a bridge, so Betsy rides with Stubbins until they manage to make it there and have him jump safely onto the ship.
While on their journey, Stubbins takes time to learn the language of the other animals, which impresses Dolittle. Soon, Mudfly and his cronies sail nearby in their own ship and begin to catch up. Dolittle and Yoshi go underwater to get a whale to help pull them faster to the island. Dolittle's rope starts to break, so Stubbins tries to pull it back with Yoshi's help, but Chee-Chee freezes up when he has a chance to help pull. Dolittle does manage to get himself back onto the ship, but Chee-Chee is ashamed at himself for failing to help.
Since their map doesn't have the exact location of the Eden Tree, the crew must stop at an island of bandits, run by King Rassouli (Antonio Banderas), who was also Lily's father. He is in possession of Lily's journal, which has the tree's location. Knowing that Rassouli would NOT be happy to see him, he and Stubbins attempt to disguise themselves. They are led by a dragonfly named James (voice of Jason Mantzoukas) to Rassouli's room where Stubbins tries to sneak in and find the journal while trying not to wake up Rassouli or his pet lionesses. The boy gets close, but Rassouli spots him and captures him, along with Dolittle.
Rassouli throws Dolittle into a den where he must deal with a gold-fanged tiger named Barry (voice of Ralph Fiennes), who has serious mommy issues and has a bone to pick with Dolittle for not helping him get over this, while Stubbins is taken by the other bandits. Although Dolittle tries again, Barry is set on eating him. The other animals show up to help after Stubbins has James send them a message, with Yoshi blowing up the bandits' hideout, while Chee-Chee breaks into the cage and musters up the nerve to fight Barry. They help Dolittle get out as Stubbins has gotten the journal, but they are stopped by Mudfly and his soldiers, where the villain admits to having the Queen poisoned so that he can go find the cure and bask in all the rewards. They take the journal and destroy Dolittle's ship.
As things are looking down, Yoshi and Plimpton bond over having negligent fathers. Dolittle expresses his disappointment in himself, which Rassouli overhears. Although he dislikes Dolittle for taking Lily away, he knows she would have wanted him to continue his quest. He gives him an old ship to allow him to return to the sea. Dolittle uses the help of whales to track down Mudfly's ship.
The crew reaches the island but spot Mudfly's men already making their way inside. They climb up another way to get past the villains and eventually come across the tree and the fruit, but Mudfly and his men get there as well. Soon, they are confronted by a large dragon (Frances De La Tour), who begins to attack the soldiers. Dolittle saves Mudfly from getting killed, which leads to him having an epiphany about being a better person, only to push another soldier in the dragon's path before falling down a hole. After scaring away the other soldiers, the dragon sets her sights on Dolittle and his friends, but he then spots another dragon skeleton, which makes him realize she has lost her beloved, and so he sympathizes with her. He also notes that she is backed up internally, so he proceeds to give her an enema so that she may expel all the armor and weaponry that she has devoured over the years. She thanks Dolittle and allows him to take the fruit.
With the Queen mere minutes from death, Dolittle and the animals manage to make it in time. However, Lord Badgley attempts to send the guards after them. The animals hold them off and get the fruit to Stubbins, who uses it to heal the Queen. Dolittle then learns from a stick bug that he left behind that Badgley is the mastermind behind the Queen's poisoning, as he has the vial of nightshade in his pocket. Badgley attempts to escape but is quickly subdued and imprisoned. The Queen thanks Dolittle and Stubbins for saving her.
Dolittle returns to his sanctuary where he has officially taken Stubbins on as an apprentice, and he has decided to reopen the sanctuary to the public, as Lily would have wanted.
During the closing credits, we see Mudfly still in the cave. He attempts to communicate with bats, only for them to swarm around him menacingly.