ברונו (אייסה באטרפילד) הוא ילד בן שמונה, בנו של קצין נאצי שמועבר עם משפחתו מברלין לאזור מבודד בעקבות תפקיד אביו. במקום החדש, החיים שקטים ומשעממים, וברונו מוצא את עצמו מתמודד עם הבדידות והסקרנות הגדולה שלו. כשהוא מטייל בגינת הבית, הוא מגלה גדר גבוהה שמפרידה בין הנכס שלו לבין מחנה ריכוז סמוך. מעבר לגדר פוגש ברונו את שמואל (ג'ייק סכנלון), ילד יהודי הלובש את פיג'מת הפסים האופיינית לאסירים במחנה. למרות ההבדלים הגדולים ביניהם, בין עולמות שונים ומסוכנים, מתפתחת בין השניים חברות אמיצה וטהורה, שברונו לא מבין במלואה את משמעותה.
הקשר בין ברונו לשמואל מתעצם, והם מבלים יחד זמן רב, חולקים סודות וחוויות, כשהם מתעלמים מהמחסומים הפיזיים והחברתיים שסביבם. עם הזמן, ברונו לומד על המציאות האכזרית שמתרחשת מעבר לגדר, אך נשאר נאיבי לגבי ההשלכות האמיתיות של המלחמה והגזענות שסביבו. החברות הזו, שנראית בתחילה כמשהו פשוט ויפה, מובילה בסופו של דבר לתוצאות טראגיות ומזעזעות, שמשנות את חייו של ברונו ומשפחתו לעד. הסיפור מתאר את המבט הילדי על זוועות השואה, וממחיש כיצד חוסר ההבנה והפשטות של ילד יכולים להאיר באור שונה את האכזריות האנושית. הסרט מציג את המתח בין התמימות לבין האכזריות, ואת המחיר האישי הכבד שנגרם בשל שנאה, שניתן לראות דרך עיניו של ברונו, הילד שפוגש את שמואל מעבר לגדר. ברונו מחליט לעזור לשמואל למצוא את אביו שנעלם במחנה. הוא מתגנב מעבר לגדר, לובש פיג'מת פסים כדי להסתתר ולהיות עם שמואל. השניים נכנסים למחנה, אך לא מבינים את הסכנה האמיתית. בסיום הטראגי, הם מתים יחד בתא הגזים, והסיפור משמש כתזכורת עזה לאכזריות השואה ולחוסר התמימות שיכול להסתתר מאחורי עיניים של ילדים. הסרט מביא מסר עוצמתי על חברות, תמימות ואנושיות מול זוועות היסטוריות.
