After Kyle Edmund won the opening quarter-final rubber against Philipp Kohlschreiber, Evans was tasked with winning his first match in Madrid to avoid a doubles showdown with Germany.
Evans had lost both of his group-stage encounters despite taking the first set, and though his last-eight match with Jan-Lennard Struff appeared to be following a similar pattern, the 29-year-old prevailed in the deciding tie-break to win 7-6(6) 3-6 7-6(2).
In-Depth: Is this Nadal's best ever year?
Speaking immediately after his match, Evans said: “It’s great, listen I lost some tough matches lately and felt like I let the team down the past couple days.
“To come back today and get it like that, it’s amazing for them, they all support me through everything. I’m just so happy for them that we’re through.
I thought I was playing good the last two days but couldn’t get over the line. It was tough, before the match I didn’t feel great. You’re down, you’re losing, but everyone in the team has kept me going and keeping me positive.
Captain Leon Smith added: “I can’t believe it. He’s had a tough couple of days, we were talking about how to change things up today and free him up.
“He was feeling down, but boy did he step up today, and I’m absolutely thrilled for him. That reaction at the end I’ll savour forever.
“Now we’ve got an amazing opportunity in the semi-finals, but we’re going to enjoy this one.
We feel great. Coming into this I knew we had a really good squad. People might have started doubting us but everyone has now posted wins which is a great feeling going into a semi-final.
Britain will face either Spain or Argentina for a place in the final, with Russia taking on Canada in the other semi-final.