At the start of Good Fortune, things are pretty rough around the edges. The jokes don’t all land, the focus is off, and it’s hard to know what the point of it all is. By the end, the humor will have balanced out, the characters have won you over, and a message has even emerged. It’s all in getting from the beginning to that point. By the time the credits roll, you’ll have enjoyed the movie, imperfect as it is. An unlikely participant at the 2025 Toronto International Film Festival, it’s a fun palate cleanser of a comedy.
Good Fortune works once it leans into the full force of its premise, as well as stops feeling the need to have the plot constantly arrive. Plus, it’s when Keanu Reeves comes into focus that things snap into place, as he’s given an incredibly fun performance. You’ll know it when it happens, but once he becomes more interesting, we’re off to the races.
Arj (Aziz Ansari) is having a tough go of it. An editor by trade, he’s doing menial jobs within the gig economy while living out of his car. However, a chance encounter with a rich tech bro in Jeff (Seth Rogen) lands Arj a job as his assistant. The job is promising and Jeff appears friendly, at least until Arj uses his boss’ credit card to pay for an expensive date with former hardware store colleague Elena (Keke Palmer). Immediately fired, the already broke Arj is at his wits end, which is when his guardian angel Gabriel (Reeves) reveals himself to him.
Now, Gabriel is an angel mostly given the task of making sure people who text and drive don’t get into accidents, so he’s not the cream of the crop. Still, he sees Arj suffering and wants to help him see the value in his life. So, the junior angel breaks protocol and has Arj switch places with Jeff, believing each can learn something from walking a mile in the other’s shoes. However, what he doesn’t count on is Arj finding that money actually does solve most of his problems. When it’s time to switch back, Arj doesn’t want to, so Gabriel allows Jeff to realize what happened. Now, both are in the loop and Jeff is pissed, getting Gabriel in even more trouble, which is where things really start to pick up.
Aziz Ansari is the ostensible lead here, and he’s fine, but Keanu Reeves is the standout. Playing into the silliness of his simple yet good-hearted angel, it’s some of the funniest he’s ever been. Reeves is best in show, though Ansari and Seth Rogen capably play to their strengths. Keke Palmer is solid in an underwritten role, while the supporting also features Sandra Oh, Stephen McKinley Henderson, and others.
Making his filmmaking debut, Aziz Ansari writes and directs Good Fortune with an emphasis towards his strengths. The script gets sharper as things go on, which allows the occasionally odd editing choice from Ansari the director to not be a huge deal. Casting Keanu Reeves was a real coup and winds up being the major success here. Plus, how many mainstream comedies are about the plight of the gig worker and comes out so strongly in favor of unions/workers rights?
Good Fortune admittedly isn’t great, but it did grow on me as it progressed. At a time when comedies often run out of gas, this one get better as it went along. That’s rare, so between that and it’s unique placement at TIFF this year, it winds up being worthy of a mild recommendation.
SCORE: ★★★






[…] a likability that rules the day with this one. Back at the Toronto International Film Festival here, I said the following in my […]