Barcelona fought back from the brink of defeat to beat Granada 5-3 after extra-time in an extraordinary Copa del Rey quarter-final at Estadio Nuevo Los Carmenes.
Ronald Koeman's side won at this ground 4-0 in La Liga last month but were facing a battle when Kenedy scored against the run of play after an error by Samuel Umtiti, making just his fifth start of the season.
Roberto Soldado struck a second on the break early in the second half and Barca struggled to get back into the contest against an exemplary Granada defence and inspired goalkeeper Aaron Escandell.
However, Griezmann turned in Lionel Messi's cross from deep with two minutes of normal time left and the same combination set up Jordi Alba to head in an injury-time equaliser.
Griezmann's fine header put Barca ahead in extra-time but Fede Vico struck back straight away from the penalty spot, only for Frenkie de Jong and Alba again to settle the encounter at last.
Aaron was forced into six saves in the first half as Barca dominated proceedings, with a double stop to deny Messi and Francisco Trincao the pick of them.
It was Barca's own slack play that gifted Granada the lead, as some loose passing in defence ended in Umtiti being dispossessed by Alberto Soro, who teed up Kenedy for a tap-in.
Granada delivered a sucker-punch in the first two minutes of the second half. Angel Montoro intercepted a Griezmann pass and launched a long ball forward to Soldado, who raced away from Umtiti and slotted past Marc-Andre ter Stegen.
Trincao, Ousmane Dembele and Messi all hit the woodwork and Griezmann was denied from an overhead kick by a brilliant Aaron save, but the France forward turned a Messi cross in off the post and keeper to give his side a lifeline.
The same Messi pass and Griezmann run teed up Alba to net an unlikely header, but Luis Suarez almost snatched a win for Granada with seconds left, the substitute dragging a shot wide after racing through on goal.
Aaron could do nothing to deny Griezmann's emphatic second in extra-time as he rose highest to head in Alba's cross, but Vico restored parity three minutes later from the spot after Carlos Neva won a soft penalty from Sergino Dest.
But De Jong denied Granada a second semi-final in succession, side-footing into the net after Aaron had parried Messi's shot in the 109th minute, and Alba blasted home a stunning volley from Griezmann's clever pass to make certain the contest was over.