While I haven't seen every movie with him in it, it's hard to deny that Michael Keaton is a good actor and that he's been in quite a number of good movies. Here's my top five.
5. The Vulture/Adrian Toomes (Spider-Man Homecoming)
Kind of an ironic role as Michael Keaton became pretty famous for being Batman, but in the MCU he's a villain. Before Spider-Man Homecoming, I always thought The Vulture was a pretty lame villain. But I liked his powers, but his human alter ego was pretty good especially as Peter ends up going to prom with his daughter. Talk about awkward.
4. Riggan Thomson (Birdman)
This was a role that almost got Keaton an Oscar, he plays a former superhero actor (hitting close to home there) who wants to make a wonderful play. The depths of his obsession and madness is rather difficult to forget.
3. Ray Kroc (The Founder)
One of his few (if the only) roles based on real people, he plays Ray Kroc who "founded" McDonalds. The film doesn't portray Kroc was some of kind of fast food deity, but rather the slimeball he really was in real life. I was really shocked that this whole movie and Keaton got snubbed around Oscars time.
2. Bruce Wayne (Batman)
While comic book movies didn't get taken seriously until the early 2000's, Tim Burton's Batman was one of the exceptions to the rule. While the movie could not have been what it was without Tim Burton or Jack Nicholson, Keaton impressed many here. Funny enough when the news broke that he was cast, Batman fans flipped because of his more comedic roles in the past. A future generation of Batman fans would do the same with Heath Ledger as the Joker, and be so-so wrong about their fears.
1. Betelgeuse (Beetlejuice)
His character is technically spelled Betelgeuse, but who could forget a character like Beetlejuice? Not quite a hero, not quite a villain, but he sure was creepy and yet charming as well. Perhaps one day we might see Keaton re-take the role in the sequel that's been speculated for about three decades now.