イギリス・デヴォンの貧しい小作農の息子として生まれたアルバート・ナラコットは、近所の牧場で一頭の馬の出産に目を奪われていた。産まれた馬は額に白いダイヤ形の模様があり、四肢に白い靴下をはいたような模様がある元気な茶色のサラブレッドだった。馬の成長を見守りながら、アルバートは何とか手なずけようと努力するが、馬は気性が荒く中々彼に心を開いてくれなかった。そんなある日、父のテッドは農耕馬を買い付けに街の競売へ出かけた。多くの馬が出品される中、テッドはある馬に心を奪われた。それは額にダイヤ形の白い模様があるあのサラブレッドだった。彼は友人たちが諫めるのも無視して農耕には全く適さないこのサラブレッドを自身の大地主ライオンズと競り合って30ギニーという大金で落札してしまった。農耕馬を買いに行ったはずのテッドがサラブレッドを連れて帰ってきたことに、妻のローズは烈火の如く怒った。しかしアルバートは大喜びし、きっちりと調教することを条件にローズを何とか説得して飼育することを許してもらった。彼は馬にジョーイと名付け、ネイティブ・アメリカンが馬を呼ぶ時に使うフクロウの鳴き声のような呼び声をジョーイに覚えさせ、愛情を注いでいった。そんな中アルバートはローズから、テッドがかつて騎兵としてボーア戦争に出征し、勲章を授与されつつも心身に傷を負って帰ってきたことを知らされる。しかしナラコット家はライオンズの土地で細々と農業を行う貧しい小作農であり、ジョーイを購入したこともあって、やがて上納金を納めきれない事態となってしまった。上納金の取り立てに来たライオンズに対し、テッドは荒れてとても農作に適さない土地を耕して何とかお金を捻出することを条件に支払いを猶予してもらった。テッドが耕すと言った荒れた土地は慣れた農耕馬でも中々耕し切れないと言われる土地で、それをサラブレッドが耕すことなど到底不可能だと村人たちは嘲笑した。それでも諦めずにアルバートは脚の悪いテッドに替わってジョーイに農具をつけ、土地を耕し始めた。最初は刃が土にかまず全く耕せなかったが、突如降り始めた大雨で土が軟らかくなり、アルバートとジョーイは土地を耕すことに成功した。テッドは早速そこでカブの栽培を始めた。ライオンズへの上納金を支払う目処が立ってナラコット家には笑顔が戻り、アルバートはジョーイをさらに調教して自由に騎乗できるようにまでなった。ところがある日、激しい雷雨が周囲を襲ったことで収穫間際だったカブが全てダメになってしまった。ライオンズへの上納金の支払いは事実上不可能となり、このままでは一家は農地と家を失って追い出されることになってしまう。そこでテッドは、ジョーイを売ることを決意。ジョーイを可愛がるアルバートに黙って街へ行ってしまった。時代は第一次世界大戦が始まり、イギリスも大陸へ軍隊を派遣することになっていた。テッドに連れられて街に来ていたジョーイはイギリス軍のサーベル騎兵部隊に所属するジェームズ・ニコルズ大尉の目にとまり、30ギニーで買い取られることになった。そこへ、ジョーイが売られると悟ったアルバートが駆けつけて、一緒に志願入隊するとまで懇願して何とかジョーイを取り戻そうとする。しかしニコルズ大尉はアルバートがまだ入隊年齢に達していないため、大尉みずからジョーイを大切に扱うこと、戦争が終わったら返しに来ることを約束し、ジョーイを連れて戦地フランスへ渡ることになった。見送るアルバートは、テッドが騎兵時代に使い、ローズが保管していた連隊徽章入り三角旗をジョーイに託すのだった。騎兵部隊には当然様々な軍馬がそろえられており、その中でもジョーイは部隊指揮官ジェイミー・スチュワート少佐の黒馬トップソーンと並ぶ名馬であった。突撃演習ではジョーイとトップソーンの2頭だけ群を抜いた速さを見せ、お互いをライバルであり友であると認識するようになった。フランスへ送られた騎兵部隊は、斥候からの情報で近くにドイツ軍部隊が野営していることを知る。兵力はこちらの2倍だったが、騎兵が有利であるとの開戦当初の認識もあり、密かに近づいて騎兵突撃による奇襲をかけることとなった。ジョーイとトップソーンは、それぞれニコルズ大尉とスチュワート少佐を乗せ、ドイツ軍の野営地に乗馬突撃をかけた。抜刀した騎兵部隊による奇襲を受け、ドイツ軍は大混乱に陥ったかに見えたが、彼らは野営地に隣接する森の中にあらかじめ機関銃陣地を構築していた。陣地に逃れたドイツ兵たちはそこに防御線を張って、イギリス軍の騎兵たちを機関銃の集中射撃で壊滅させた。ニコルズ大尉は戦死し、スチュワート少佐は捕虜になり、ジョーイとトップソーンはドイツ軍に捕まった。ドイツ軍ではギュンターとミヒャエルという馬の扱いに慣れた若い兄弟が2頭の面倒を見ることとなった。上官に騎乗用の馬は役に立たないので農耕馬以外は射殺しろと命じられたが、ギュンターはジョーイとトップソーンを殺すのは惜しいと考え、負傷兵を乗せる馬車を引かせるために使わせて欲しいと希望して許された。ジョーイがすんなりと馬車を引くことを受け入れたのは、かつてアルバートが荒れた土地を耕すために農具を引かせたことがあったからだった。友であるジョーイが受け入れたことで、トップソーンも馬車引きを受け入れ、2頭は殺されずに済んだ。やがてドイツ軍部隊は前線へ向かうこととなり、馬の扱いが特に上手いギュンターはこの場に残って馬の世話を、弟のミヒャエルは移動を、それぞれ命じられた。ギュンターは兄弟二人で後方に残ろうと企むが、純真なミヒャエルは前線で戦う覚悟はできていると言い張り、行軍の隊列に加わってしまう。しかしギュンターはミヒャエルを絶対に守ることを祖国の母と約束しており、軍から逃げ出すことを決意する。ギュンターはトップソーンに乗り、ジョーイを一緒に連れて部隊を追いかけると、ミヒャエルを隊列から強引に引き出し、ジョーイに乗せて逃げ出した。疲れ切った2人は見つけた風車小屋で休むことにしたが、翌日軍の追っ手に見つかり、敵前逃亡の軍律違反で銃殺刑に処された。一方、軍に見つからずに風車小屋に残されたジョーイとトップソーンは、小屋の持ち主であるジャム農家の少女エミリーに発見された。突然2頭の名馬が小屋に現れたことを喜ぶエミリーと、困惑するエミリーの祖父。祖父は、持ち主が現れないこと、病弱なエミリーが馬に乗らないことを条件に飼育することを許した。そんなある日、エミリーの家にドイツ兵が食料や日用品の徴発に現れた。ドイツ軍に徴用された農民たちがエミリーの家の畑から農作物を収穫し、兵士が家の中のジャムや食料などを持ち去ったが、ジョーイとトップソーンは2階の寝室に隠されて見つからずに済んだ。やがて祖父はジョーイとトップソーンに対するエミリーの愛情に根負けして、隠してあった馬具を彼女の誕生日にプレゼントした。馬を走らせないことを条件に騎乗を許したが、エミリーはジョーイに跨がるや否や走り出して丘を越えて見えなくなってしまった。エミリーは一向に戻ってこず、トップソーンもジョーイの後を追って走り去ってしまい、祖父は心配になって様子を見に行った。すると丘を越えたところではあのドイツ軍部隊が再び現れ、ジョーイからエミリーを引きずり下ろしている光景が目に入ってきた。祖父は何とかエミリーを救出したが、ジョーイとトップソーンはドイツ軍部隊に連れ去られ、祖父の手にはジョーイの三角旗が残った。新たにジョーイとトップソーンの面倒を見ることになったのはドイツ兵のフリードリヒだった。彼はこの2頭が名馬であることを理解し、上官のブラントが馬を榴弾砲などを引かせるためだけの使い捨てだと考えていることに反発していた。やがて榴弾砲を牽引中に潰れた馬の代わりにトップソーンを連れてくるように命じられたフリードリヒは、トップソーンが膝を痛めていることを理由にやめて欲しいと懇願するが、上官の命令は絶対であるので従わざるを得なかった。すると事態を察したかのようにジョーイが突然榴弾砲の前へ飛び出してきた。まるで自分がトップソーンの代わりに榴弾砲を引くと言っているような様子に、フリードリヒの勧めもあってブラントはジョーイに榴弾砲を引かせることにした。ソンム郊外の陣地まで移動された榴弾砲が砲撃を開始した頃、その砲弾が着弾する地点にはイギリス軍の兵士として前線へ来ていたアルバートの姿があった。彼はジョーイと再会するという希望を捨てず、ジョーイに呼びかけるフクロウの呼び声を発しては周囲に笑われていた。開戦当初と異なり、戦場では機関銃や戦車といった新兵器の大量投入で騎兵は重視されなくなり、両軍兵士は敵の弾幕を避けるために塹壕を掘り進んで戦っていた。ソンムの戦いが始まり、イギリス軍部隊は塹壕を出てドイツ軍陣地へ突撃をかけるよう命じられ、アルバートは同郷の親友アンドリュー・イーストンや、大地主の息子であるデイヴィッド・ライオンズと共に塹壕を出た。両軍中間の無人地帯で大勢の将兵が死傷し、デイヴィッドも負傷して倒れたが、アルバートはドイツ軍の機関銃陣地に手榴弾を投げ込んで突破口を切り開き、ドイツ軍の塹壕に入ることに成功した。しかしそこへドイツ軍から化学兵器による攻撃が加えられ、アンドリューはガスマスクをつける間もなく毒ガスに呑みこまれ、アルバートも一時的に視力を失ってしまった。一方ドイツ軍ではジョーイとトップソーンを連れてフリードリヒが前線へ向かって移動していたが、トップソーンは膝の怪我と疲労によってついに死んでしまった。悲しむジョーイとフリードリヒだったが、イギリス軍戦車の襲撃を受けてドイツ軍は退却することになり、フリードリヒは馬は放っておいて逃げろと、他の兵士たちに引きずられてしまう。フリードリヒは大声でジョーイにどこかへ逃げろと叫び、ジョーイはその声に応えて走り出した。銃弾や砲弾が飛び交う無人地帯を一心不乱に走り続けたジョーイは、やがて戦場に張り巡らされた有刺鉄線に絡まって動けなくなってしまった。その様子を見ていたイギリス兵のコリンは、白旗を掲げてジョーイの救出に向かった。するとドイツ軍からもペーターという兵士が有刺鉄線を切るためのカッターを持ってやってきた。コリンとペーターは協力してジョーイを救出し、コイントスでコリンが馬を連れて行くことを決め、お互いと馬の無事を祈りつつそれぞれの陣地へ戻っていった。怪我を負ったジョーイを連れ戻ったコリンは獣医を探すが、すでに戦場から騎兵や馬がいなくなっていたこともあって人間を診る軍医しかいなかった。それでもコリンはジョーイを軍医に診せたところ、軍医は負傷兵を救うだけで手一杯であり、破傷風で助からないから射殺するようフライ軍曹に命じてしまった。そこへ「戦場の中間地点で見つかった奇跡の馬」の噂を聞きつけたアルバートがフクロウの呼び声を上げて現れた。彼は一時的に視力を失って目に包帯を巻いていたが、噂の馬がジョーイであることを確信していたのである。呼び声を聞いたジョーイはすぐにアルバートの元へ駆け寄った。アルバートは軍医にジョーイが自分の馬であることを訴え、その証拠に額の白いダイヤ形の模様と四肢の白い靴下の模様があるはずだと言った。しかしそのような模様は無かったので呆れた軍医は再び射殺を命じようとしたが、様子を見ていたコリンが馬は泥に汚れているので模様が見えないだけだと言って泥をぬぐったところ、アルバートの言う通りの模様が見つかった。軍医はジョーイにできるだけの治療をすることをアルバートに約束した。やがて怪我が治ったアルバートやジョーイのもとに、戦争が終わってイギリスが勝利したことが伝えられた。ようやくジョーイを連れて故郷に帰れると安心したアルバートだったが、無情にも上官から将校の馬以外はフランス現地で競売にかけられる旨を通達されてしまった。フライ軍曹はそれに怒って上官に掛け合ったが聞き入れられなかった。ジョーイを連れて帰ることを諦めかけていたアルバートだったが、奇跡の馬の話を知っている兵士や下士官、将校たちがアルバートのために29ポンドをカンパしてくれた。これでジョーイを買い戻せというのである。騎乗用の馬は人気が無く、競売の参加者は農耕馬が目当てなので落札できるだろうと思われた。しかし競売が始まると、100ポンド、1000ポンドの大金を出してでも落札するという老人が現れた。エミリーの祖父だった。戦争でエミリーは既に犠牲となり、奇跡の馬の噂を聞きつけて孫のよすがとして馬を買い戻そうとやってきたのである。思わぬ横やりにアルバートはジョーイの落札を諦め、エミリーの祖父にジョーイを託そうと考えた。しかし別れがたい素振りを見せるジョーイの姿を見て、また祖父が取っておいたジョーイの三角旗がアルバートの父親のものだと知り、エミリーの祖父は、ジョーイをアルバートに返すことを決意した。