The detective-cum-exorcist John Constantine is not your grandma's comic-book superhero, unless maybe your grandma was Pandora. He has, let's just say, a dark side, and not like that brooding caped millionaire with a cool car and an adolescent avian sidekick. In fact, Constantine goes by the sobriquet Hellblazer in print, his title changed for the cinema presumably to avoid confusion with the Hellraiser movies, or to create confusion with Alexander and Troy (everything ancient is futuristic again).
I can't say whether director Francis Lawrence and his writers have adapted Hellblazer with fidelity to their source material. But they've certainly made a jazzed-up good time of a movie, especially if you like the things it takes after: Raymond Chandler novels (Constantine is Philip Marlowe with a droll seminarian wit), The Exorcist (it opens with back-to-back nods to that possession classic), and the recent TV mini-trend of tongue-in-cheek supernatural dramas (slightly more Angel than Buffy, with a faint whiff of the Charmed Ones).
Set in Los Angeles, Constantine finds our hero slowly coming to realize that Satan (Peter Stormare) and God (as yet uncast) have let things get out of hand. It's a conflict Constantine knows personally: He's seen demons since childhood, and he spent two eternal minutes in Hell as a boy when he attempted suicide because of it. Neither God nor Satan, you see, can show up on Earth (they signed a pact), but their half-breed avatars -- Balthazar (Gavin Rossdale) for Satan, Gabriel (Tilda Swinton, playing a man, although very androgynously) for God -- have decided to dick around with humanity and thereby destroy a delicate balance.
As if that's not bad enough, Constantine has terminal lung cancer (he smokes like he's European), which means he'll soon die and go to Hell (remember: he committed the unforgivable sin). He prays that his lifetime of exorcising demons on Earth will buy him redemption -- although he's seen God, he doesn't believe in Him -- but as Gabriel so concisely explains: "You're fucked."
Meanwhile, a plot: Angela (Rachel Weisz) doesn't believe her devoutly Catholic twin sister Isabel committed suicide. So Constantine helps her prove it, getting a hand from Midnite (Djimon Hounsou), a supernatural being who tries to maintain the contractual balance on Earth, and his own eager young driver, Chas Chandler (Shia LaBoeuf, the Project Greenlight kid, still more sparrow than Robin).
This all whips up into an entertaining show, with ample pithy wisdom about good, evil, free will and the Big Picture ("God's a kid with an ant farm. He's not planning anything."). You'll long for a bit more humor at times, but really, that might have turned the movie into something ridiculous. The acting is perfectly just what it needs to be, with Reeves in ultra-taciturn mode, and Stormare making up for it by turning Satan more silly than giddy with iniquity. I suppose that goes along with the theme of balance, although if Lawrence wanted Stormare to channel Dennis Hopper, he should have just hired Hopper to play the part.