"Hand to God" -- a dark, irreverent and smart comedy by the young, previously unknown playwright Robert Askins -- is one hell of a great success story, having graduated step by step from off Off-Broadway to Off-Broadway to finally Broadway itself.

This is the kind of raw and raunchy play you don't typically see on Broadway, but once there ends up making Broadway a more exciting place.

It brings to mind "Avenue Q," which also involved irreverent, foul-mouthed puppets. Yet despite how silly it gets, "Hand to God" is also a seriously disturbing portrait of an emotionally scarred mother and son who have spent so long suppressing their rage that it comes out in unpredictable and inappropriate ways.

Jason (Steven Boyer), a sad and shy high school teen in Texas whose father recently died, has been enlisted by his enterprising mother (Geneva Carr) to take part in her fledgling church basement puppet theater -- the "Christian Puppet Ministry" -- along with a few other classmates including cool kid Timothy (Michael Oberholtzer) and girl next door Jessica (Sarah Stiles).

While building their hand puppets, Jason unveils Tyrone, who quickly takes on a life of his own and turns into Jason's cheeky alter ego. After Jason hears that Timmy had sex with his mother, Tyrone bites off a chunk of Timothy's ear, leading the family-friendly pastor (Marc Kudisch) to conclude that Jason has become possessed by the devil.

In a scene not likely to be forgotten anytime soon, Tyrone has long, graphic sex with a female puppet being operated by Jessica. There's also the ultraviolent manner in which Jason tries to dispose of Tyrone, which is definitely not for the squeamish.

Boyer is able to separate Jason from Tyrone so completely that he is essentially giving two standout performances at once. It's like watching Hyde run amok while Jekyll looks on helplessly.

If you go: "Hand to God" plays an open run at the Booth Theatre. 222 W. 45th St., HandToGodBroadway.com.