Last year racked up the biggest box-office numbers of all time, due to plenty of films that were legitimately entertaining, moving or thought-provoking, and relatively few that annoyed me to the level of anger. As usual, I’m presenting my 10 favorite films of the year and the five I hated most.

My 10 Favorites:

1. “Mary Poppins Returns.” I’m a sucker for musicals and anything-goes fantasy sequences, but I was a little concerned that modern Disney might not have the chops to match the magical 1964 original. Thankfully, it has proven to be wildly entertaining through my first three viewings, with no doubt many more to come. Emily Blunt and Lin-Manuel Miranda do a superb job taking the reins from the original’s Julie Andrews and Dick Van Dyke in a film that has to be seen to be believed. (In theaters now)

2. “Crazy Rich Asians.” Another big Hollywood gamble, this stunning surprise was easily the best romantic comedy in at least 20 years. The fact that it starred a nearly unknown cast of spectacularly talented actors catching the brass ring together made it thrilling to watch as well as hilarious and touching. (Streaming)

3. “Bad Times at the El Royale.” This dark, gritty, ever-twisting film noir brought together the year’s most unique cast (Jeff Bridges, Jon Hamm, Chris Hemsworth, Dakota Johnson and the scene-stealing Cynthia Erivo) for a “Pulp Fiction”-style showdown over one night in a haunted  roadside motel. It was both shocking and spiritual, and was hugely overlooked. (Streaming)

4. “A Quiet Place.” John Krasinski spent nine years playing the good-natured all-American guy Jim on “The Office,” so he thoroughly stunned the movie world by co-writing, directing and starring with his wife Emily Blunt in this complete masterpiece of a horror film. They play a married couple living with their children in deep-woods silence as the only way to stay alive after alien invaders that attack anything that makes a sound have wiped out most of humanity. One of the most harrowing, perfectly-pitched movie experiences you will ever encounter. (Streaming)

5. “Eighth Grade.” Innovative musical comedian Bo Burnham wrote and directed this alternately hilarious and heartbreaking portrait of an awkward girl trying to survive the final week of eighth grade so she can reinvent herself in high school. Elsie Fisher delivered a powerhouse performance that reminds us there are good kids out there still, dying to be noticed. (Streaming)

6. “Bohemian Rhapsody.” Relatively new (albeit Emmy-winning) TV star Rami Malek of “Mr. Robot” fame stepped into the shoes of iconic rock singer Freddie Mercury to lead this epic recounting of the story of Mercury and Queen. The propulsive music gives this an enormous kick throughout, but Malek also nails the tragic side of a man who was loved worldwide publicly, yet was terribly alone in private. (In theaters now)

7. “Blackkklansman.” Spike Lee made the comeback of the decade by co-writing and directing this daring and edgy comic thriller based on the true story of a black cop who infiltrated the Ku Klux Klan through a crazy scheme shared with a white Jewish cop. Made many points on the nation’s racial divide without once feeling preachy. (Streaming)

8. “Rampage.” I always include at least one big dumb popcorn movie, and this somewhat-overlooked Dwayne Johnson movie in which he teams up with a King Kong clone to battle a wild array of genetically mutated monsters attacking the Chicago skyline was the year’s nuttiest pleasure. (Streaming)

9. “Don’t Worry, He Won’t Get Far on Foot.” Joaquin Phoenix delivered a heartbreaking yet hopeful turn in the true-life tale of artist John Callahan, a hopeless alcoholic who found his purpose drawing wickedly satirical cartoons after being paralyzed in a drunk driving accident. Jonah Hill as his AA group leader and Jack Black as the deeply regretful drunk driver who ruined his life join Phoenix in delivering three of the year’s best performances. (Streaming)

10. “White Boy Rick.” Matthew McConnaughey was the big name in the cast, but first-time actor Richie Merritt steals the show from the veteran Oscar-winner in this dark, gritty yet powerful biopic of Rick Wershe, Jr., a teenage drug dealer who became the FBI’s youngest informant in history. Merritt’s performance is utterly unique, while the film is a battle cry for sentencing reform. (Streaming)


1. “Assassination Nation.” Morally bankrupt garbage about a group of high school girls on a violent rampage against the “patriarchy,” this featured no likable characters on any side in a race to show ever more disgusting revenge upon revenge. (Streaming)

2. “A Wrinkle in Time.” Oprah Winfrey hyped this movie to death and had a rare major role in this adaptation of the classic young-adult novel, but this confusing mess did not translate well to the screen on any level. (Streaming)

3. “Red Sparrow.” Jennifer Lawrence follows her turn in one of last year’s worst films, “mother!”, with another inexplicable step toward career suicide by playing a vicious and violent Soviet superspy in a film that will make you hate humanity. (Streaming)

4. “The Front Runner.” This wasn’t a terribly made film, but Hugh Jackman and director Jason Reitman’s look at the sex and media scandal that destroyed Gary Hart’s 1988 presidential run was wanly paced and gave audiences no one to root for as both Hart and the press are portrayed as outright scum. (Starts streaming soon)

5. “Welcome to Marwen.” Star Steve Carell and co-writer-director Robert Zemeckis seemed like a winning team, but instead their combo of live-action and motion-capture animation in the tale of a man who recovers from a brutal attack by creating elaborate World War II fantasies with dolls is a jumbled mess that is impossible to care about. (In theaters now)