Neither side had been able to find a breakthrough in normal time, and after five penalties each there was still nothing to separate the sides with both successfully converting three apiece.
Teenager Stuart McKinstry scored for Leeds to make it 6-5, but Fulham’s Rodrigo Muniz was unable to convert, leaving Leeds to progress.
It had been a close game, with both sides showing promise but lacking quality.
Fulham had started brightly and looked to make an impact when Muniz had two chances, a header just wide and a drive parried by goalkeeper Illan Meslier.
However, it was Leeds who should have been ahead when Tyler Roberts had a shot saved only for the rebound to fall to Rodrigo but he mistimed his effort.
Despite a promising start from the home side it was Leeds who continued to dominate possession as Fulham struggled to get out of their half.
Rodrigo made a promising individual run towards the Fulham box, including a clever one-two with Mateusz Klich, but his final shot did not have the same quality and was wide of the target.
Marek Rodak was forced into a low diving save to deny Rodrigo’s low curled free-kick and keep the scores level.
Just before the half-time whistle, it was Meslier’s turn as he kept out Neeskens Kebano’s free-kick from just outside the area.
At the start of the second half, a sliding tackle from Michael Hector was needed to prevent Rodrigo scoring after he was played in by Dan James.
The second half lacked the energy of the first, with both sides short of quality in the final third as they tried to break the deadlock.
Fulham came close in the 68th minute when Muniz, who had had their best chances of the game, headed just over the crossbar from a well-struck cross.
Former Sheffield Wednesday loan midfielder Josh Onomah drove forward before unleashing a strike, but Meslier was able to tip the drive over the bar with just over 15 minutes remaining of normal time.
Muniz had another header in the 86th minute, which he was unable to keep down, with Leeds’s Rodrigo also missing a headed opportunity at the other end in added time.
The game headed to penalties, with Onomah and Joe Bryan missing for Fulham and Stuart Dallas and Adam Forshaw unable to convert for Leeds.
At 3-3 after five penalties the game went to sudden death, with no mistakes for either team until Muniz’s tame effort which saw Leeds go through.
Fulham: Rodak, Christie, Hector, Mawson, Bryan, Reed (Adarabioyo 83), Onomah, Knockaert (Ivan Cavaleiro 71), Quina (Reid 71), Kebano, Rodrigo Muniz. Unused substitutes: O’Neill, Fossey, Stansfield, Taye Ashby-Hammond.
Leeds: Meslier, Dallas, Cresswell, Phillips, Firpo, Shackleton, Klich (Gelhardt 69), Summerville (McKinstry 75), Rodrigo, James, Roberts (Forshaw 55). Unused substitutes: Klaesson, Drameh, Greenwood, Hjelde.
Referee: T Robinson (West Sussex).
Jay Rodriguez scored four second-half goals as Burnley beat Lancashire rivals Rochdale 4-1 to book their place in the fourth round of the Carabao Cup.
After Jake Beesley had given Rochdale a shock 1-0 lead, Rodriguez ran riot at Turf Moor as two headers sandwiched a right-footed finish before a lucky rebound put the Clarets out of sight in the 75th minute.
Burnley secured their first home win in any competition since January, but were given a scare after falling behind in the first encounter between the two Lancashire sides in 28 years.
Everton crashed out after losing on penalties to Sky Bet Championship side QPR.
After the 90 minutes ended 2-2, Rangers scored all their spot-kicks, prevailing 8-7 in the shoot-out. Defender Jimmy Dunne thumped in the winning penalty after Tom Davies’s kick had been saved by goalkeeper Seny Dieng.