Gerrans edged out Slovakia’s Peter Sagan, last year’s green jersey winner, in a photo finish with Spain's Jose Joaquin Rojas in third.
Belgium’s Jan Bakelants, winner of the second stage, holds on to the overall race leader’s yellow jersey by a one-second margin, while Sagan’s second place allows him to take the green jersey for the best sprinter from Marcel Kittel.
The German Kittel had won the opening stage of the race in Bastia on Saturday. Gerrans’ victory is his second in the Tour, with his previous stage win dating back to 2008. His is the first win for an Australian in the race since Cadel Evans won the fourth stage en route to taking the yellow jersey in 2011.
“The stage went perfectly for me. It was like riding one of the Ardennes Classics. We spent the entire day going up or down,” said Gerrans, who has won stages in all three Grand Tours and also won last year’s Milan-San Remo.