Substitute Gareth Bale struck the winner nine minutes from time, moments after coming on for only his second appearance since suffering a calf injury in September.
Despite Los Blancos dominating the match at the Zayed Sports City Stadium, the United Arab Emirates team went on to take a shock 41st-minute lead through Brazilian striker Romarinho.
Al Jazira goalkeeper and captain Ali Khaseif kept his side in the game against an onslaught of Madrid attacks, making seven impressive saves and maintaining a personal clean sheet.
Mbark Boussoufa then appeared to have doubled Al Jazira's lead early in the second half, but the virtual assistant referee adjudged the effort to have been offside.
Moments later Cristiano Ronaldo found the equaliser after being played through by Luka Modric, the Portuguese forward slotting past substitute keeper Khaled Al Senaani, who replaced the injured Khaseif.
With 10 minutes left, Zinedine Zidane took off Karim Benzema, who had spurned numerous chances, and put on Bale, who slotted into the corner of the net after Lucas Vazquez had pulled the ball back from the right.
The Spanish champions move on to play Gremio in Saturday's final and a third success would take them equal with Barcelona for the record amount of tournament wins.
Al Jazira (4-4-2): Khaseif (Al Senani 51'); Al Attas, Al Hamdani, Al-Shimmari, Al Saadil; Sanad, Al Hosani (Al Gheilani 72'), Alhammadi (Al Otaiba 60'), Boussoufa; Romarinho, Al Hajeri
Real Madrid (4-3-3): Navas; Achraf, Nacho, Varane, Marcelo; Casemiro, Modric, Kovacic (Vazquez 68'), Isco (Asensio 68'); Ronaldo, Benzema (Bale 81')