A classy equaliser from Tom Cairney saved Fulham from a humiliating FA Cup exit at the hands of Sunderland in an entertaining FA Cup fourth round tie at Craven Cottage this afternoon. The Fulham captain’s first goal of the season was a wonderful strike – a finish of real venom after he had twisted and turned to make space for himself in the penalty area – and cancelled out Jack Clarke’s early opener as the winger capitalised on an error from Issa Diop. Both sides went for a winner in an end-to-end encounter but they will have to do it again on Wearside in a replay.

Marco Silva made seven changes but stayed true to his pledge of respecting the world’s oldest Cup competition with an intriguing mix of stalwarts and fringe faces. The outstanding Anthony Patterson in the Sunderland goal looked as if he was going to ensure the Championship side pulled off an upset. He made a string of fine saves, starting as early as the first minute when he fielded a sighter from Harry Wilson, who endured a day to forget in the final third, after Joao Palhinha had pressurised the otherwise excellent Amad Diallo into giving up possession.

The visitors went ahead from their very first attack. Diop dawdled on the ball and Clark nipped in, racing clear of the Fulham defence to steer a composed finish past a helpless Marek Rodak. The nearly 6,000 Sunderland fans, who gave their side vibrant support all afternoon, roared with delight and, just as Silva had warned, the Whites were in a Cup tie. The Mackems played excellent football with Manchester United loanee Diallo and former Fulham winger Patrick Roberts giving Layvin Kurzawa a searching examination down their right flank.

In a open game, Fulham should have been level shortly afterwards but Tosin Adarabioyo’s header from an Andreas Pereira corner bounced down into the turf and then up over the crossbar. The tall centre back probably should have made more of a free header. Wilson roamed with intent from the right flank but he couldn’t find the finishing touch that characterised his first year at the Cottage. The Welshman curled an effort wide of goal before Kurzawa’s flick on from another Pereira corner was also agonisingly off target.

Sunderland soaked up that pressure, also shaking off the early loss of Ross Stewart, and came again. Lovely interplay between Roberts and Diallo opened up space inside the Fulham area for the latter, but he snatched at his shot and it went well wide of Rodak’s near post. They then had a lucky escape at the other end just before the break. Manor Solomon, who enjoyed an encouraging first Fulham start, picked out Pereira with a clever cross and the Brazilian’s well-struck volley was heading in, but was bravely blocked on the line by Dan Ballard. The ball rolled across the goal hit Patterson and somehow bounced away to safety.

A frustrating first half almost gave way to a devastating start to the second. Roberts went on one of those familiar mazy dribbles and, as the Fulham back line retreated, he unselfishly fed Diallo, but the Ivorian winger failed to slot his finish inside the far post. The hosts poured forward, with a clever Carlos Vinicius flick creating half a yard of space for Cairney. The Fulham captain teed up Wilson, who cut onto his left foot and bent a shot towards the far corner that was clawed away superbly by Patterson. Rodak then saved well in quick succession from Diallo and Roberts as Sunderland broke at pace, before Fulham had a counter of their own.

Cairney slipped Wilson clear of the Black Cats back line but Patterson got his angles right and a hand to the Welshman’s finish – with the winger left beating the turf in anger. It look as if the home side would pay for that mistake when Diallo darted free again and unleashed a powerful strike that Rodak couldn’t hold, with the Slovakian recovering to gather the loose ball just as it seemed Clarke was poised to tuck home the rebound. Roberts then produced a magnificent run from inside his own half and shot as Adarabioyo backed off, but fortunately for his former employers, the finish went wide of the far post.

Cairney was becoming more influential and it was no surprise that he levelled matters with a timely reminder of his undoubted quality. A lovely bit of vision from Solomon released Kurzawa in an advanced position down the left wing and the French full back’s cut back was perfectly measured for Cairney. The Scottish midfielder skipped away from two tacklers, before lashing a left-footed shot between Patterson and the near post. The relief was tangible – because Sunderland had looked disciplined enough to hold on without a moment of magic.

Silva sent on Aleksandar Mitrovic in order to try and avoid a replay and the Serbian soon set up Pereira for a daisycutter that was well held by the peerless Patterson. The Sunderland goalkeeper then dived to his left to keep out a free-kick from substitute Willian after Palhinha had been tripped just outside the box. Kenny Tete surged forward and fashioned a pair of decent opportunities, with Solomon shooting straight at the keeper and Mitrovic heading down his throat in quick succession.

Sunderland gave it a good go in search of a late winner themselves. Debutant Pierre Ekwah had a piledriver deflected over and, from the ensuing corner, Ballard directed a header straight at Rodak. The visitors thought they had won it right at the start of stoppage time but schoolboy Christopher Rigg was denied a fairytale after converting a cross from Adoullah Ba because the forward was offside by a distance. Fulham went forward to try and make the most of that fortune but found Patterson unbeatable as the Sunderland goalkeeper parried an instinctive strike from Bobby Decordova-Reid before tipping over Willian’s late effort.

FULHAM (4-2-3-1): Rodak; Tete, Kurzawa, Adarabioyo, Diop; Palhinha (Reed 78), Cairney (Decordova-Reid 78); Wilson (Willian 69), Solomon, Pereira; Vinicius (Mitrovic 64). Subs (not used): Leno, Ream, Duffy, Harris.

BOOKED: Wilson, Kurzawa.

GOAL: Cairney (61).

SUNDERLAND (4-2-3-1): Patterson; Hume, Alese (Huggins 45), Ballard, Batth; Neil, Michut (Ekwah 77); Clarke, Roberts (Rigg 86), Diallo (Bennette 77); Stewart (Ba 20). Subs (not used): Bass, Kelly, Johnson, Watson.

BOOKED: Alese, Baath.

GOAL: Clarke (6).

REFEREE: Michael Salisbury

ATTENDANCE: 22,905