Ray and Ken may be the most unlikely pair to venture on holiday since Miles and Jack set off for the Santa Ynez Valley in Sideways. London hit men exiled to Bruges after a botched job, they are meant to lie low and take in the sights until the heat is off. Ray, the younger of the two, couldn’t care less about gothic churches and Flemish primitive painting; when he’s not sulking, he’s complaining. Ken, on the other hand, welcomes the forced vacation, his latent interest in history, religion and art awakened by the enchanting medieval city; he plans their daily itineraries like a practiced tourist.

In Bruges begins as a quirky, comic travelogue and ends as a dark, violent thriller—Something Wild comes to mind, as does Sexy Beast—but at its core it’s a buddy movie, a character study of compromised men who struggle to find good in an evil world. Director Martin McDonagh has written numerous award-winning plays, including The Lieutenant of Inishmore and The Pillowman, both nominated for Tonys, and he garnered an Oscar for his live-action short film, Six Shooter, in 2006. McDonagh knows how to create compelling characters that evoke our empathy, even when his leads are assassins, and he tells a good story without resorting to narrative tricks. There’s something to be said for starting out on stage, a medium that cannot take the audience for granted.

The film is exceptionally well-cast. Colin Farrell has taken on roles that stretch his talents, from Capt. John Smith in Terrence Malick’s The New World to fey Bobby Morrow in Michael Mayer’s A Home at the End of the World. Here he makes the most of a tailor-made part, the charming but quick-tempered Dubliner, self-deprecating but overly sensitive to perceived slights, amoral yet plagued by remorse. Ray is a caricature, but Farrell plays him with child-like petulance, squashing the sentimentality that we project, compulsorily, onto an Irish brogue. He fascinates us because he is destined to screw up; watching him blunder his way around Bruges is like witnessing the proverbial train wreck in slow motion.

Gleeson, who starred in Six Shooter, has the challenge of playing straight man to Farrell. Ken is a decent man who seems to have entered the exterminating business to pay off a debt of gratitude; he’s one of those professional killers who, outside of their work, lead excruciatingly normal, even dull lives. He, too, is a cliché, but Gleeson’s dry wit and reluctant optimism offset the character’s lugubriosity. Much of the movie consists of dialogues between Ken and Ray, and later on, between Ken and Harry (Ralph Fiennes), the psychopathic, probity-obsessed boss who arrives in Bruges to sort things out. The incongruous trio’s musings on responsibility and redemption, loyalty and honor, are surprisingly poignant, owing largely to Gleeson’s nuanced performance.

As the earlier reference to Something Wild and Sexy Beast suggests, In Bruges changes course with the arrival of the bad guy, although Fiennes comes off more droll than sinister…the movie never loses its sense of humor. McDonagh structures the plot as a series of twists, some of which can be anticipated, some not; he may seem a discursive director, but he writes a tight script. He also is exceptionally clever at integrating character and action. Jordan Prentice, for example, does a rummy turn as a depressed, drug-addled thespian dwarf hired by a production company shooting a dream sequence. The movie-within-a-movie riffs on the fantasy aspect of the real city, not to mention the illusion of the medium itself, but Prentice’s seemingly gratuitous role (roles, really) ineluctably evolves into the film’s ironic climax. This is slick work, and McDonagh manages several such narrative feints within the film’s short 107-minute running time.

With its festive feel (the movie is set during Christmas) and fairy-tale setting, In Bruges works against type and seems more original than it really is. As a genre flick, it delivers the goods and more. Hard to beat a good crime story lightened up with honest laughter and existential angst.