Every year someone tries to make an insta-classic holiday comedy, and almost every year, they fail. We’ve already had one such failure this year, but the other attempt at making a long-lasting holiday comedy, The Night Before is actually the rare exception—a holiday comedy that not only works, but that is GREAT. Reuniting the team behind 50/50—the even more rare cancer comedy that works—The Night Before is basically Scrooged, but with drugs. Directed by Jonathan Levine and from a cadre of writers including Levine and Seth Rogen’s creative partner, Evan Goldberg, The Night Before stars Rogen, Joseph Gordon-Levitt, and Anthony Mackie as three friends celebrating their last Christmas together before adult responsibility finally forces them to grow up. It should be trite and smarmy, but The Night Before is genuinely warm-hearted and REALLY F*CKING FUNNY.

First of all, this movie starts with rhyming narration from Tracy Morgan, so already, it’s succeeding. Then it gets into the set up—fifteen years ago, Ethan (JGL) was orphaned just before Christmas. To keep him from going off the deep end, his two friends, Isaac (Rogen) and Chris (Mackie), spent Christmas with him. That started a tradition of the three friends hanging out together on Christmas, completing a checklist of activities and trying to find the “Nutcracker Ball”, a legendary Christmas Eve party. But this will be the last year, as Isaac is about to become a father and Chris has finally found success in the NFL and is getting too famous to bum around New York. This is a weird problem for Chris to have—we’ll come back to it.

The casting in The Night Before is flawless. JGL is the right combination of charming and dark to pull off a character like Ethan, who is likeable despite some glaring flaws but also is keeping a lid on some deep, seething anger; Rogen is at his best as Isaac, who spends most of the night on a bad trip, and Mackie is insanely charismatic as Chris. But it’s not just them—the movie is loaded with comedians showcased in the absolute perfect way, from Nathan Fielder as an overly earnest limo driver to Jason Mantzoukas and Jason Jones as a pair of drunk Santas, plus a couple really enjoyable surprise cameos. Broad City’s Ilana Grazer pops up to steal a few scenes—and has the best exit since Shakespeare wrote “Exit, pursued by a bear.” And Michael Shannon steals every scene he’s in.

But the movie’s secret weapon? The female leads, played by Jillian Bell, Lizzy Caplan, and Mindy Kaling. Bell stars as Isaac’s pregnant wife Betsy, who sends her husband out for one last hurrah before fatherhood with a box of Craigslist drugs—there are no wet blankets in this movie—and Caplan is Diana, Ethan’s ex and the one that got away. Kaling is on sidekick duty as Diana’s friend, Sarah, who’s kind of Mindy Lahiri-lite but makes a fun, sexy counterpart to the more straight-laced Diana. These are not complex characters but they are fully realized, and Betsy has as satisfying an emotional arc as Isaac. It makes the movie that much stronger, that it doesn’t lose momentum when the ladies show up as so many bro-comedies do. These women are as funny as their male counterparts.

The only real issue is that Chris’s storyline doesn’t work as well as Isaac’s and Ethan’s. Both of them are struggling with taking the next step in their adult lives, growing up and becoming better men, but Chris’s struggle is that he’s an NFL player on steroids. The entire steroids subplot feels like an afterthought, and Chris would have fit better into the ensemble if his story was more like his NFL career didn’t ever quite pan out, and he was faced with a mid-thirties career change. That’d be more in line with the theme of growing up than steroid abuse. When everything else is flowing so smoothly, it’s a consistent annoyance every time Chris’s subplot is referenced. Still, that minor quibble aside, The Night Before is destined to become annual holiday viewing for a lot of people—including me—and is also one of the funniest movies of the year.