Metacritic score: 71
It’s hard not to love Shazam!, a superhero movie that’s full of goofy, cheerful over the cool things superheroes get to do — but without losing its heart. Billy Batson (Asher Angel) is just 14, and has been trying to find his mother even since he was separated from her as a child. But through a series of strange events, he ends up being chosen to receive the powers of Shazam, which include things like running very fast, shooting lightning bolts, and (perhaps most importantly) being able to change from a boy to a man (played by Zachary Levi) and back again, just by yelling, “SHAZAM!”
Yes, it’s silly, but that’s what makes it fun. Shazam! has all the giddy pleasure of a 14 year old who just discovered he can beat up bad guys, and it has heart, too; the story of Shazam! is of an outcast finding a forever family, and knowing that he’s finally where he belongs. It’s heartwarming, pleasantly self-aware, and thoroughly fun. And that means it’s magical.