Australia's Evans covered the 42.5-kilometer (26.4-mile) course seven seconds slower than stage winner Tony Martin, but fast enough to claim the yellow jersey from Andy Schleck and set the stage for the first victory by an Australian in the venerable bicycle race.
Schleck finished Stage 20 in 58:11 after starting 57 seconds behind Schleck.
Evans has a 1:34 lead over Schleck heading into Sunday's grand finale with its traditional run down the Champs-Elysees in Paris.
Pregnant Mila Kunis wins 'Best Villain' at MTV Movie Awards
Biologists detail four new deep-sea 'killer sponges'