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.
Jordana Brewster on Paul Walker: 'He was an enormous presence in my life'
Benedict Cumberbatch's dramatic reading of R. Kelly lyrics is just what you need