The ingredients of Crossfire are an all-inclusive buffet of delights. The terrifying prospect of an idyllic Canary Island hotel besieged by determined gunmen with a grudge. A magnificent cast including Keeley Hawes, Josette Simon and Lee Ingleby. A slick three-episode BBC production airing over consecutive nights with the added allure of a binge-it-all-on-iPlayer option. So when Crossfire opens with a dazed Keeley Hawes voiceover vaguely pontificating about the nonlinear nature of time while we watch her swimming in a luxurious (but mysteriously empty for a massive holiday complex) pool, you can consider it an omen that all is not quite right with this BBC drama. Still, we’re teased with a scene where Keeley Hawes’ character Jo is alone on her hotel room balcony, one minute waving at her son as he dives into the now crowded pool, the next sending mysterious kinky text messages to god-knows-who, then freezing at the sound of gunshots beginning to ring out across the complex before running towards the action. As openings go, it’s satisfyingly gripping. Of course, we then have to flash back to introduce the characters arriving at the hotel, and for such a large cast (there are seven adults with what seems like approximately 87 children between them, maybe more) they do a pretty good job of explaining who everyone is, helped by a holidaymaker at the next table in the hotel restaurant who conveniently takes it upon himself to guess what they all do for a living. In doing so, we discover Miriam (Josette Simon) is a doctor and Jo (Hawes) is an ex-copper – shameless foreshadowing – whereas others are the owner of a limo company (Chinar, played by Vikash Bhai) and a social worker (Jason, aka Lee Ingleby), which in itself is foreshadowing only insofar as to confirm they probably didn’t arrive equipped with the skills to survive a deadly gun attack. And then the real action starts. Be prepared to watch the next few minutes from behind your hands, your stomach firmly clenched, as a scene of pure, palpitations-inducing horror unfolds. Gunshots fire out, and hundreds of holidaymakers start to hide or flee, clutching their children as indiscriminately targeted victims fall one by one around them. The protagonists scatter to various locations in the chaos, adding a layer of disorienting terror to the tension, with excellent performances all round making this one of the year’s must-watch drama moments. The plot barrels forward, and the characters’ varied reactions to an unimaginable situation do an excellent job of making viewers question what we would do if faced with our worst nightmare. And if you enjoy feeling smug and superior, it’s a good watch, because some of their questionable decisions verge on the ridiculous. Ben (Daniel Ryan), for instance, wilfully urges the two children under his care to run off while he helps a daft old woman down a hill, so of course they instantly disappear. Meanwhile, Jason runs back to find his missing son, but quickly gives up and chills in their hotel room instead, allowing him to use Jo’s phone to discover the identity of her flirty texter is none other than Chinar. This leads him to leave him a profanity-filled voicemail about what a wrong’un he is, which in the context of what’s going on around him lacks a bit of perspective, to say the least. Jason’s is only the second-worst phone-related faux pas of the series, however, as while holed up in the hotel’s kitchen, Kate (Anneika Rose) starts calling her husband Chinar, only for a fellow hostage to voice what we’re all shouting at the telly and tell her the sound of his phone ringing will probably lead the gunmen straight to his hiding place. So it’s a good job that Chinar – ironically one of the few characters who sensibly finds a decent hiding place in the basement and keeps quiet – is already dead, shot in the chest during a horribly tense scuffle with one of the gunmen. Speaking of which, although a terrified holidaymaker tells Jason there are ‘five or six gunmen’, we don’t see much of them until the second episode, when we anticlimactically discover it’s actually only two kids who have decided to shoot up the hotel for reasons that are never actually made clear. The revelation of their identity is surprising, but does rather put a dampener on the tension, as we essentially discover that Jo and a heroic hotel employee called Mateo (Hugo Silva) are roaming around with shotguns trying to take out two disgruntled youths, at least one of which clearly doesn’t really want to be there. He, of shooting-Chinar-in-the-chest fame, also plays an infuriating cat-and-mouse game with Jo and her adult daughter Amara (Shalisha James-Davis), constantly bumping into them among the hotel’s endless hiding-place-filled corridors, but inexplicably choosing not to kill them. This leads right up to the climax of the attack, where after a nerve-wracking standoff, Jo predictably plucks up the courage to pull the trigger just in time, shooting him as the police helicopters finally fly overhead. A more original fate is cowardly Jason’s, who – after kicking back in the hotel room for so long you start to think we’ll cut to him in a hotel-branded dressing gown eating the complimentary custard creams while flicking through the local TV stations – ends up falling off the balcony when trying to flee one of the gunmen, who breaks into his room and stares contentedly down at Jason’s mangled body several floors below. Disappointingly, he doesn’t shoot him a few times for good measure, and Jason survives. Both he and the show itself rehabilitate during the final episode, as the survivors deal with the difficult aftermath, and struggle to find a way through their collective grief and trauma. Although their uber-middle-class homes make it look like they live in a John Lewis catalogue, the understated performances effectively portray them coming to terms with what happened, and every conceivable loose end is neatly tied up. Except for why on earth the gunmen carried out their attack, which seemed like a fairly large oversight. And so, much like Crossfire itself, the families just about hold themselves together, imperfect, damaged, but not quite beyond repair. We’re left with an exhausted sense of grudging satisfaction, but the nagging feeling that they should have just gone to Center Parcs.