It was desperately cruel on Everton after they made light of the two-goal first-leg deficit with a vibrant performance that threatened to sweep Fiorentina aside, creating chance after chance.
Everton were without Tim Cahill, sidelined by a foot injury, but it did not stop David Moyes's side going on all-out attack against the high-flying Italians.
After a nervous start, Everton made the breakthrough after 16 minutes when a brilliantly-delivered cross from Steven Pienaar eluded Fiorentina keeper Frey and rebounded into the net off Johnson.
It set the stage for incessant Everton pressure for the rest of the half that deserved to yield further goals.
Arteta's dipping free-kick was well saved by Frey, who produced an even better stop to deny Yakubu in the 34th minute after the Nigerian had turned into the penalty area.
Johnson then had another shot saved low to his left by Frey as Everton pressed for the goal that would have brought the tie level.
Fiorentina's only response was a shot from Martin Jorgensen that was straight at Everton keeper Tim Howard.
Everton continued to surge forward after the break, and they were unlucky when Jagielka's goal-bound header struck an unwitting Fiorentina defender on the line and bounced to safety.
The Italians were rocked in the 67th minute when Arteta produced a stunning strike to double Everton's lead, advancing before unleashing a low 25-yard drive that was too much even for the defiant Frey.
Frey then kept Fiorentina level in the tie with a dramatic double save from Yakubu as Everton scented the third goal that would cap their comeback.
Fiorentina had barely been seen as an attacking force, but Giampaolo Pazzini almost snatched the crucial away goal with 15 minutes left when he produced a glancing header that was smartly turned over by Howard.
Everton had performed superbly and almost got the victory in injury time when Yakubu headed Arteta's free-kick just wide.
Moyes's side continued to press in the first period of extra time, but Fiorentina rode their luck once more to hold out.
Everton made a change for the second period of extra time, with Victor Anichebe replacing the tiring Pienaar.
The breakthrough almost came after 108 minutes when Johnson broke clear, but he just failed to find the unmarked Yakubu in the area.
Everton started the penalty shoot-out with substitute Thomas Gravesen coolly hitting the target, but Yakubu then hit the post, and despite Arteta scoring, their fate was sealed when Jagielka's spot-kick was saved by Frey.
Fiorentina were masterly from the spot, with Pazzini, Riccardo Montolivo, Pablo Daniel Osvaldo and Mario Alberto Santana all beating Everton keeper Tim Howard comfortably.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.