Spain's Luis Leon Sanchez won the penultimate stage of the Tour Down Under on Saturday as Germany's Andre Greipel maintained his overall lead.

Sanchez, who won the race five years ago, sprinted clear of the pack at the end of the 148 kilometre stage to finish two seconds ahea of Australia's Luke Roberts and Spain's Alejandro Valverde.

Australia's road race world champion Cadel Evans was fourth after launching an attack on the second mountain climb.

Greipel, who won the race two years ago, made up late ground to finish 17th, nine seconds behind the winner, but holding an 11 second overall lead heading into Sunday's last stage.

‘I am very happy. I would not be in the jersey for another day without my team mates,’ Greipel said.

‘Every climb is difficult for a sprinter and I was on the maximum the whole time. When riders like Valverde attack, there is not point trying to go with him.

‘We didn't panic and just kept our steady speed and my team mates surrounded me and stayed with me which is great.’

Sanchez started the day in 20th place but moved to second overall after collecting 10 bonus seconds.

‘I had to finish in front of Cadel Evans over the line and when it got down to it Alejandro Valverde put it right on the line,’ Sanchez said.

‘He was very generous in his work and I was able to beat Cadel Evans over the line but unfortunately Griepel was not far enough behind.’

Lance Armstrong, who is using the race as part of his preparations to try and win an eighth Tour de France, is 24th overall and 47 seconds behind but said he got a kick out of watching the leaders attack up the mountain.

‘It was pretty intense watching it,’ the American said.