It's 2000 San Francisco and Amir (KHALID ABDALLA) is an author who celebrates the release of his latest work with his fellow immigrant wife, Soraya (ATOSSA LEONI). Just then, a phone call from his late father's friend, Rahim (SHAUN TAUB), results in him traveling back to Kabul, both physically and in his mind to a traumatic point in his childhood.
In 1978, Amir (ZEKERIA EBRAHIMI) is a 12-year-old storyteller who enjoys participating in competitive kite flying with his best friend, Hassan (AHMAD KHAN MAHMIDZADA), who just so happens to be the son of the family's servant. The two get along fabulously, although Amir's father, Baba (HOMAYOUN ERSHADI), wishes his son would be more like Hassan in terms of standing up for himself.
The servant's son certainly has experience with that, having to deal with racial-based hatred at the hands of an older boy, Assef (ELHAM EHSAS) and his fellow bullies. When something bad then happens to Hassan and Amir witnesses that but does nothing to help, his inaction serves to change their lives forever.
Back in the present, and on a mission to make reparations for his past decisions and behavior, Amir puts his life at risk, particularly with the likes of now grown-up Assef (ABDUL SALAM YUSOUFZAI) being part of the Taliban that now controls his former home town.