Un cheval blanc suit la roulotte d'un vieux gitan jusqu'à Dublin. Là, dans un faubourg misérable, vivent son fils, "Papa" Riley, avec ses deux enfants, Tito et Ossie. Mary Riley est morte à la naissance d'Ossie et depuis, Riley s'est sédentarisé dans une cité populaire, noyant son chagrin dans l'alcool. Grand-père le considère comme un gitan déchu. Le cheval ne se laisse approcher que par Ossie, garçonnet d'une dizaine d'années. Ossie et Tito l'emmènent dans leur appartement, ce qui provoque la fureur des voisins, puis l'arrivée de la police et la "confiscation" du cheval (baptisé Tir na nOg). Le sergent O'Mara vend alors Tir na nOg à Hamett, un éleveur. Ossie et Tito le reconnaissent à la télévision et le volent de façon spectaculaire en plein concours hippique. La police à leurs trousses, les deux garçons se laissent guider par Tir na nOg. Riley, malmené par O'Mara, sort de son inertie et, après avoir renoué avec un groupe de gitans, part à la recherche de ses enfants, accompagné par Kathleen. Tir na nOg arrive à la tombe de Mary Riley avant de se diriger vers la mer. Là, les gitans et la police s'affrontent sans pitié tandis que le cheval s'enfonce dans les flots, avec Ossie sur son dos. Riley réussit à sauver son fils mais Tir na nOg a disparu. Réconcilié avec son passé, Riley reprendra la route, avec les autres gitans.