Cinco anos após o fim da Guerra Civil, o Capitão Jefferson Kyle Kidd (Hanks), viúvo e veterano de três guerras, desloca-se de cidade em cidade como um contador de histórias reais, partilhando notícias de presidentes e rainhas, lutas gloriosas, catástrofes devastadoras e aventuras emocionantes nos confins do globo. Nas planícies do Texas, cruza-se com Johanna (Helena Zengel), uma menina de 10 anos, acolhida pelo povo Kiowa seis anos antes e criada como um dos seus. Hostil a um mundo que ela nunca conheceu, Johanna está prestes a ser devolvida aos seus tios biológicos. Kidd concorda em entregar a criança onde a lei diz que ela pertence. À medida que viajam centenas de quilómetros, os dois enfrentam enormes desafios, humanos e naturais, enquanto procuram um lugar a que possam chamar lar.