Brahim Diaz's 20th-minute effort looked to be securing all three points for Carlo Ancelotti's side in the league affair, only for Llorente to equalise in the final moments to earn a point for the Red and Whites.
Despite the late disappointment, Real Madrid have extended their lead over second-placed Girona at the top of the La Liga table to two points, while Atletico remain fourth, three points ahead of fifth-placed Athletic Bilbao on the same number of games (23).
Antonio Rudiger failed to make it for Real Madrid, with the German missing out due to a thigh problem, which saw Dani Carvajal feature alongside Nacho in the middle, with Eder Militao and David Alaba long-term absentees through injury and Aurelien Tchouameni suspended.
Vinicius Junior suffered an injury during the warm-up, meanwhile, which meant that he could not start, with Brahim therefore being drafted into the XI, and the Spaniard came up trumps to make the breakthrough on the night.
Real Madrid made much the brighter start to the contest and came close twice inside the opening four minutes, but Jude Bellingham saw an effort kept out by Jan Oblak, before Atletico's goalkeeper made a brilliant save to prevent Brahim from finding the back of the net.
Atletico's first opening came in the eighth minute for Alvaro Morata, who was declared fit after a muscular issue, but his effort was saved by Andriy Lunin between the Real Madrid sticks.
It was a lively game, and the breakthrough arrived in the 20th minute, with Brahim managing to fire into the back of the net from close range after the ball fell kindly for him inside the box.
Atletico had two chances to level in the spell that followed, but Lunin did well to keep out a header from Axel Witsel before Stefan Savic nodded wide less than a minute later.
Saul Niguez then headed against the Real Madrid post in the 36th minute, with Atletico passing up another excellent opportunity to level the scores in a lively Madrid derby at Bernabeu.
Bellingham had a half-chance to send Real Madrid two goals ahead in the latter stages of the first period, but his header from a Toni Kroos free kick missed the target, before Federico Valverde missed from the edge of the box, with Diaz's effort proving to be the difference between the two sides at the interval.
Atletico had the ball in the back of the Real Madrid net early in the second half through Savic, but his effort was disallowed, with Saul adjudged to have fouled Lunin in the process.
Real Madrid had a big shout for a penalty on the hour when Savic barged Bellingham to the ground inside the box, but the referee was not interested and VAR agreed.
Rodrygo had the opportunity to double the home side's lead in the 66th minute when he found space inside the box, but Oblak was on hand to make a brilliant save.
Diaz then struck just wide of the target in the 70th minute, before Antoine Griezmann brought an excellent save from Lunin down the other end, with both sides having chances to add to the scoring.
Real Madrid's makeshift defence held firm for almost the entirety of the match, but their resistance was broken in the 93rd minute when Llorente headed into the back of the net from close range after a flick from Memphis Depay.
Real Madrid will welcome second-placed Girona to Bernabeu in La Liga next weekend, while Atletico's attention will now switch to the Copa del Rey, welcoming Athletic Bilbao for the first leg of their semi-final on Wednesday.