3 out of 5 stars

Multi-hyphenate Aziz Ansari (Master of None) writes, directs, and stars in Good Fortune, which follows the antics of his character Arj (Ansari), who’s out of a job, living out of his car, and exhausted by life in general. In a blunt, opening conversation with a child, Arj delivers the movie’s thesis: “The American dream is dead.” But for a film with big statements to make amid several laughs, it also carries a surprising amount of heart.

Arj’s world soon collides with that of Gabriel (Keanu Reeves), the guardian angel of texting and driving, who takes an interest in his misfortunes. Strangely, the two find themselves in similar positions. To make ends meet, Arj works at a hardware store while also doing freelance jobs through an app that assigns everyday tasks and errands its users have requested. He’s desperate for meaningful work. Meanwhile, Gabriel’s sick of preventing distracted-driving accidents and begs his boss, the heavenly administrator Martha (Sandra Oh), to assign him a lost soul to help instead. They share a condition that’s become an epidemic of modern life: burnout. Ansari uses this setup to connect the divine and the ordinary, suggesting that whether you’re a hardware clerk or a heavenly messenger, it’s hard to feel fulfilled in a world that measures worth by productivity.

Keanu Reeves (John Wick: Chapter 4), best known for his dry, minimalist delivery, is perfectly cast. His calm demeanour gives Gabriel both humour and melancholy, balancing out the film’s more fantastical moments. Reeves’s deadpan precision is what makes his scenes land—especially when the camera slowly pans towards him as he realises his plan’s backfired and he mutters, “Oh no.” His expression barely changes, but the dryness makes it a hundred times funnier. Another standout moment finds him telling his supervisor that the mortal he’s helping seems to be doing just fine: “It seems to have solved his problems.” The line encapsulates both the film’s wit and its cynicism about modern success.

On an assignment, Arj meets Jeff (Seth Rogen), a wealthy investor looking to hire a personal assistant. Their connection feels convenient, almost as if arranged by forces above. But things sour quickly after Arj uses Jeff’s credit card to impress on a date with Elena (Keke Palmer). His employment ends just as suddenly as it began. Elena, a co-worker at the hardware store, is outspoken about workers’ rights and passionate about forming a union. As her character develops, she becomes the story’s moral compass and counterbalance to three less serious male leads.

When Gabriel finds Arj at rock bottom, he decides to break heavenly protocol. In an effort to teach Arj gratitude, he swaps Arj’s and Jeff’s lives to prove that money doesn’t buy happiness. But the experiment backfires spectacularly: in the current world, money absolutely has that power. Gabriel’s interference costs him his job—and his wings—whileJeff is forced to live on the ground, broke and baffled, until Arj willingly asks for his old life back. The twist reframes the film’s message in ironic fashion: if virtue doesn’t pay, maybe the system itself is what’s broken.

The laughs come often but rarely bite hard. Ansari’s humour is sharper in timing than in tone—clever rather than slapstick—and he knows how to milk the awkward pauses that have long defined his style. Many of the film’s funniest lines rely on his delivery alone. Fans of Master of None will recognise his clipped, self-aware rhythm, even if this character is more defeated than neurotic. There are moments when the rhythm stumbles; the chemistry between Ansari and Palmer never quite sparks. His slightly cartoonish energy clashes with her more serious line deliveries, and their scenes together, meant to be romantic, feel like mismatched radio frequencies.

At the opposite end of that spectrum is the chemistry between Rogen and Reeves, which becomes one of the film’s greatest surprises. Rogen plays Jeff as an over-caffeinated tech bro desperate to be liked, while Reeves meets every manic grin with a serene stare. On paper, the pairing shouldn’t work, yet their interplay becomes electric. Gabriel must learn how to be human, discovering both the joy and futility of earthly desire, while Jeff learns humility through suffering. The two arcs mirror one another with unexpected warmth, and watching Rogen’s unfiltered energy crash against Reeves’s detachment is consistently entertaining. It’s easy to imagine them headlining a buddy comedy down the line.

The film builds towards a climax that’s surprisingly brief. After spending much of its runtime setting up moral lessons and celestial bureaucracy, the ending rushes to resolve everything with a neat bow. It’s a bit too tidy and much too quick, robbing the finale of emotional weight. Still, Ansari’s intent is clear: to leave audiences with something closer to a parable than a punchline.

Good Fortune also marks Ansari’s first acting role in several years. Since his Netflix comedy-drama series Master of None (2015-2021) ended, he’s remained largely absent from the screen, re-emerging only for stand-up appearances and his set at Riyadh Comedy Festival. That performance, and the controversy around the festival’s funding, made headlines just weeks before this film’s release—an unfortunate collision that risked overshadowing it. It’s the kind of irony the movie itself might have appreciated: a story about moral imbalance arriving under the cloud of real-world contradictions.

The film’s social commentary is where things get trickier. Its critique of income inequality isn’t subtle—it hammers the point so directly that even sympathetic viewers might find it heavy-handed. The script wants to expose the absurdities of late-capitalist life, from gig apps that depend on endless hustle to billionaires who equate generosity with branding. There’s even an Amazon reference, complete with jokes about pee bottles and warehouse quotas. But the delivery sometimes feels unnatural, as though Ansari wants to stage a protest and a punchline in the same breath. For audiences who already share his outlook, the message will land comfortably; for those who don’t, it might feel like a sermon disguised as a sitcom.

Where the film redeems itself is in its empathy. The running gag that “even angels are dissatisfied with their work” becomes its most resonant idea. Gabriel’s cosmic burnout mirrors humanity’s own: we’re all tired of jobs that promise purpose but deliver exhaustion. The angel’s disillusionment isn’t just a punchline—it’s a metaphor for the modern workforce, where even the most ideal roles can feel hollow. In these moments, Good Fortune finds its footing as a working-class comedy with something genuine to say.

Ansari’s direction isn’t overbearing, and for a comedy that tends to work in the film’s favour. One small detail I appreciated is a camera move we don’t often see. It starts behind the actor, and pans towards and flows right into the scene. It’s a subtle touch, but it shows that Ansari isn’t afraid to make deliberate, creative choices. He’s clearly thinking about how to keep his storytelling visual without drawing attention to the technique itself, and that sense of confidence carries through the film. I’ll be interested to see what’s next for him.

By the end, Good Fortune lands somewhere between parable and workplace comedy. It’s uneven, occasionally clumsy, but undeniably heartfelt. Ansari may not have the directorial precision of his influences, yet there’s an earnestness that makes his reach forgivable. Reeves’s celestial calm, Rogen’s manic warmth, and Palmer’s grounded intelligence give the film a trio of energies that balance its script’s wobbles. For all its flaws, it’s rare to see a comedy that even attempts to wrestle with something real.

USA | 2025 | 97 MINUTES | 1.85:1 | COLOUR | ENGLISH

frame rated divider lionsgate

Cast & Crew

writer & director: Aziz Ansari.
starring: Keanu Reeves, Aziz Ansari, Seth Rogen, Keke Palmer & Sandra Oh.