The movie opens with a shot from the air of the hills and dales of Devon, England that zooms down into a field where three men are around a horse on her side. The year is 1914. Young Albert Narracott (Jeremy Irvine
) is watching the scene through a fence. It becomes apparent that horse is about to give birth, and the next shot is of the newly born foal, which then stands up.
We next see Albert as he attempts to befriend the young horse as they grow up. Once the horse is fully grown, we see the three men take him into the village to be sold at the horse auction. Albert's father, Ted Narracott (Peter Mullan
), is immediately taken by the horse and in an act of foolishness bids on and wins the animal, using his rent money to pay. He brings the horse home where Albert starts to bond with and train the horse who he names Joey. The landlord comes for the rent and agrees to wait until the harvest if Joey can plow a rocky field which will then be planted. Albert attempts to put the collar on Joey, but he refuses, so Albert puts the collar over his own neck to show how easy it is, and Joey then takes the collar without any problem. The entire village comes out to watch as Albert tries to get Joey to plow the field and at first it is a complete failure. Then it starts to rain and as the water softens the ground Albert tries once more and this time the plow bits into the ground, creating a furrow as Joey pulls in a straight line. Soon the field is completely plowed, and Ted goes out to plant it.
At the same time, the war is looming, and Albert and his mother have a talk about Ted's service in the 1899-1902 Boer war and how he refuses to talk about it. War is declared, and a terrible storm destroys the crop that was planted and with the rent coming due Ted takes Joey down to the village to sell him to the army. Captain Nicholls (Tom Hiddleston
) buys Joey for his use in the cavalry. Albert arrives in the village too late to stop the sale, but Captain Nicholls says he will return Joey after the war.
Captain Nicholls and Joey go off to train, and Joey meets and becomes friends with another horse, Topthorn. Topthorn is Major Stewart's (Benedict Cumberbatch
) mount, and they always are the fastest in training drills. However, this time it is Captain Nicholls and Joey who cross the field first in simulated cavalry charge. The cavalry is then transferred to France where they are going to attack a German unit twice their number, but Major Stewart thinks that surprise and the speed of the cavalry will give the British a victory. The charge starts out well, but as the German troops retreat in nearby woods, machine gun nests at the edge of the woods open up and decimate the British calvary. Captain Nicholls is killed, but Joey survives, as do Major Stewart and Topthorn. The major is captured, and uninjured horses are rounded up for use by the German army.
Joey and Topthorn are chosen to pull an ambulance, but Topthorn refuses to accept the collar. Joey then comes over and shows Topthorn how to accept the collar and the two horses then pull the ambulance back behind the lines. After arriving at their destination, the horses are cared for by two brothers, Gunther (David Kross
) and Michael (Leonard Carow
), when the unit is told to move out. Gunther, the older is told to remain with the horse, while Michael, just 14, is told to join the rest of the unit.
As the unit marches toward the front lines, Gunther saddles Topthorn and Joey and then rides up alongside the column, grabbing Michael and pulling him onto his horse. They then continue to ride until they come to a windmill, where the settle down to rest until night. Before they wake up and continue their journey, they are caught and executed for desertion.
The horses are left behind, and the next morning, a young girl named Emilie (Celine Buckens
) finds them, and starts to care for them. She is a sickly child who lives with her grandfather since her parents were killed in the war. Emilie dreams of riding Joey, but her grandfather is afraid she will be injured due to her frailty, and doesn't allow it. Just as Emilie is about to ride Joey the Germans come to the farm and Emilie hides the horses in her bedroom in the attic of the house.
After the Germans leave, her grandfather relents and gives Emilie her mothers saddle. Emilie then gets on Joey, and although she is only supposed to ride to the top of a nearby hill, she goes over it to the other side. She and Joey don't return, and Topthorn breaks free from her grandfather and gallops over the hilltop with Emilie's grandfather following. When he reaches the top of the hill he sees the Germans who had been at the farm earlier corralling Joey and Topthorn. Emilie is returned to her Grandfather, who requests that the Germans at least leave Joey with them. However, the officer in charge claims that both Joey and Topthorn are needed for the war effort, and will pull artillery until the war ends, or they die. Both Emilie and her Grandfather can only stand by and watch as Joey and Topthorn are led away.
The horses are put into the care of Friedrich (Nicolas Bro
) who quickly becomes attached to them. When one of the horses pulling a huge gun collapses, he is shot, and the office in charge calls for Friedrich to bring another horse. He starts to bring Joey, but the officer tells him to bring Topthorn instead, which he does. However, Friedrich pleads that Topthorn is not healthy enough to pull the gun, but he is about to lose when Joey races up the hill to take Topthorn's place. The office allows this and Friedrich takes Topthorn back behind the guns. Joey then struggles along with the other horses to pull the huge gun the rest of the way up the hill, where it is set up and starts firing at the allies' lines while Joey rejoins Topthorn and Friedrich.
The scene shifts to the British trenches at The Somme in 1918, and we see Albert and others from his village as they prepare to charge across no mans land to reach the German lines. The charge starts and Albert makes it all the across and is the first to reach the German trenches. He finds no living Germans, only dead ones as he is joined by other British troops. As they investigate the Germans release gas and all goes white.
The scene shifts back to Joey, Topthorn and Friedrich as they walk along a wide trench towards the front when Topthorn falters. Friedrich takes them aside, and Topthorn lies down and dies as Joey and Friedrich look on. Suddenly the Germans still marching forward turn and run in the other direction and shortly we see a tank which turns toward Friedrich and Joey. Friedrich runs back the way the other Germans have gone, but Joey is trapped from escaping by the tank. As it comes closer and closer, Joey looks desperately for a way out and finally he gallops straight over the tank and then turns toward the front. We next see him at night as he tries to jump across the German trench, but finally tumbles into it where he gallops through the trenches until he is able to get back to the top. Joey is now in no mans land, and he gallops straight towards the British lines, pulling up barbed wire fencing until he is totally entangled in it.
Unable to move, he calms down, and the next morning both the British and Germans are amazed to see Joey in the middle of no mans land. A British soldier puts his handkerchief on his bayonet and slowly goes over the top to attempt to help Joey, A German soldier fires a warning shot at him, but the rest of the German refrain while he makes his way to Joey. When he reaches Joey he realizes that he should have brought wire cutters and gloves as he realizes that there is noting he can do without them. Just then, a German soldier reaches them, and the two of them work together to free Joey. Once he is free the two soldiers both want him, and agree to flip a coin for him. The British soldier wins, and takes Joey back to the British lines, and to the hospital where Albert is, receiving treatment from being blinded by the gas attack. While he is being treated, word spreads about the 'miraculous horse' that was caught in barbed wire in the No Man's Land, and the words reach Albert's ears.
The British Soldier who retrieved Joey from the field asks a doctor to treat him, but the doctor refuses and instructs Sergeant Fry (Eddie Marsan
) to put the horse down. Just then Albert, hearing the horse, starts calling him with the call he trained Joey to respond to before the war. Everyone stands still, and then as Albert moves towards Joey, everyone clears a path. As they watch, Joey comes towards Albert, and the young man, though his eyes covered, believes he has found his friend again. The Sergeant claims that the horse can't possibly be Albert's, but Albert describes Joey's 'white-socked' marks above each foot, and the white symbol on his forehead. The Sergeant then pockets his gun, and several others help Albert take Joey to a nearby stable.
The war ends, but Albert is not allowed to take the horse back to England, despite his protests and those of his comrades. Due to regulations, all horses not owned by officers will be sold at auction. On the day of the auction, Albert is surprised to find that his comrades have collected all the money they have, and give it to him so he can buy Joey back from the army. At the auction, the local butcher shows up,and intends to wins Joey for himself. As the bidding between the two goes up, and it seems like Albert will lose, Emilie's grandfather appears and outbids both by a wide margin. He further states that he will do whatever he must to win Joey, even if it requires him selling his farm. After he wins and takes possession of Joey, Joey breaks free and goes over to Albert who brings him back to the grandfather. Albert and the grandfather talk and Albert learns that Joey is all the grandfather has left to remember Emilie, who has died. However, the grandfather is unable to bring himself take Joey away from Albert and gives him back, as that is what Emilie would have wanted.
The final scene is Albert riding Joey home to the family farm where he embraces his mother and then his father, amid the reddish hues of the setting sun.