The British No 1 secured his place in his first ever ATP 500 semi-final, where he will face Stefanos Tsitsipas on Friday.
Novak Djokovic breezed into the semi-finals with a 6-2 6-2 win over Karen Khachanov and will face Gael Monfils in the last four after he beat French compatriot Richard Gasquet 6-3 6-3.
ATP Madrid
Tsitsipas enjoying 'being creative on the court' after beating Rublev in Madrid
06/05/2022 AT 21:05
Evans raced into a 2-0 lead in the opening set before breaking the in-form Rublev in the fifth game. Evans went on to take it 6-2 after he converted his third set point.
The second set was a far tighter affair with Evans responding from going a break down in the fourth game by breaking Rublev twice.
But the world number 14 Rublev fought back and forced a tie-break which Evans finally won on his third match point.
The victory means Evans will break into the top 30 of the ATP men's singles rankings for the first time in his career.
It was also Evans' second win over a top-15 player this week, having knocked out world number 12 Fabio Fognini in the opening round.
Tsitsipas was made to work hard for his spot in the last four as he beat Jan Lennard Struff 4-6 6-4 6-4.
After dropping the first set, Tsitsipas broke in the first game of the second set before levelling the match.
The world No 6 spurned four break points in the opening game of the third set but broke to move 5-4 ahead and then clinched the win with a love service game.
Djokovic used a dizzying array of drop shots to make short work of Khachanov, extending his unbeaten start to the season to 16 matches and taking his winning streak to 19 matches in a row stretching back to the ATP Finals in November.
In all, Djokovic sent down 19 winners to Khachanov's nine, won 89 per cent of his first serve points, nine of 11 forays to the net, and wrapped up the one-sided affair in just 66 minutes.
ATP Madrid
Norrie overcomes Isner, Evans fights back to beat Bautista Agut
04/05/2022 AT 15:48
ATP Madrid
Rublev holds off spirited GB rising star Draper to make third round
03/05/2022 AT 12:53