The Italian was tested in multiple service games, including a marathon one at 2-2, and had to save a pair of break points before he took a one-set lead in 44 minutes.
Leaning on the rowdy home support that included several Real Madrid stars, past and present, Jodar skirted danger at the start of the second set and put pressure on the Sinner serve.
But despite his best efforts, Jodar couldn’t convert any of the five break points he created as Sinner leveled for 4-4.
The set fittingly went to a tiebreak, which was dominated by Sinner, who won the last 11 points of the match to advance to his first Madrid semi-final.
Lucky loser Anastasia Potapova reached the first WTA 1000 semi-final of her career with a hard-fought 6-1, 6-7 (4/7), 6-3 performance against former world number one Karolina Pliskova.
The world No. 56, who knocked out Grand Slam champions Elena Rybakina and Jelena Ostapenko in the previous two rounds, awaits Marta Kostyuk or Linda Noskova in the final four.
Having recently switched allegiance from Russia to Austria, Potapova is the first player representing Austria to reach a WTA 1000 semi-final, and the first lucky loser to make it this far at a tournament of this level.
“It feels great, I wouldn’t lie,” the 25-year-old said.
“I’ve been given a second chance, and I’ve been using it very good. It actually can happen in tennis, so that’s why I think it’s one of the most beautiful sports we have. If I was given it, maybe I deserve it, so, yeah, I’m very happy.”