In Spain, a ranch owned by Moreno (Raúl Esparza) that trains bulls for bullfighting called Casa del Toro harbours a bull calf named Ferdinand (Colin H. Murphy). He is ridiculed by his fellow calves Bones (Nile Diaz), Guapo (Jet Jurgensmeyer), and Valiente (Jack Gore) for being non-confrontational and his tendency to smell and protect flowers. A saddened Ferdinand runs away from Casa del Toro after his father Raf (Jeremy Sisto) fails to return from a bullfight he was picked for and a flower he was fond of was smashed by Valiente after his own father was defeated by Raf. He eventually winds up at a florist’s farm, and is adopted by the owner Juan (Juanes), his dog Paco (Jerrod Carmichael), and his daughter Nina (Julia Saldanha) with whom he shares a bond.
When Ferdinand (John Cena) eventually grows up into an enormous bull, he still retains his non-violent, flower-loving nature. Due to his size, he is left behind when Juan, Nina (Lily Day), and Paco go to Ronda for an annual flower festival. Ferdinand decides to go anyway, resulting in him getting stung by a bee and unintentionally wreaking havoc around town and is taken away back to Casa del Toro, much to his and Nina’s sadness.
Once back there, he finds that Bones (Anthony Anderson), Guapo (Peyton Manning), and Valiente (Bobby Cannavale) have also grown up and have been joined by a Scottish bull named Angus (David Tennant) and a silent but intimidating bull named Maquina (Tim Nordquist). Ferdinand is still disrespected by the bulls, but manages to befriend a crazy goat named Lupe (Kate McKinnon) who wants to be his coach in bullfighting despite his lack of interest and three hedgehogs named Una (Gina Rodriguez), Dos (Daveed Diggs), and Cuatro (Gabriel Iglesias) who frequently invade Casa del Toro to steal food. They used to have another brother named Tres, but they claimed him to be dead.
One day, a legendary but egotistical bullfighter named El Primero (Miguel Ángel Silvestre) arrives at Casa del Toro to choose the biggest, strongest, and most aggressive bull to fight with before he retires. When the bulls fail to impress him on the first try, Guapo is suddenly taken to a nearby slaughterhouse (The Chop House by the bulls) and the other bulls tell Ferdinand that it will eventually be their fate if they are not chosen for a bullfight. Although Ferdinand manages to earn the respect of the other bulls, except Valiente, after a dance-off with three German horses (Sally Phillips, Flula Borg and Boris Kodjoe), they still hold on to the belief that fighting is the only way for them to live. Ferdinand manages to convince Lupe to come back with him to Nina’s farm and the hedgehogs help them escape, but when Ferdinand is close to freedom, he sees his dad’s picture on a wall with his horns mounted, along with dozens of other horns, making him realize that every bull who is chosen to fight, will be slain by the matador.