The race seemed set up for Sagan to grab the stage but Gerrans, like Sagan a strong finisher, charged over the line first for his second career stage win in the Tour de France. He took a stage in 2008.
Gerrans covered the 90.4-mile, medium-mountain route from Ajaccio to Calvi on Corsica in 3 hours, 41 minutes, 24 seconds.
Sagan finished second with Jose Joaquin Rojas in third. They were among the large number of riders given the same race time as Gerrans.
Jan Bakelants was 19th Monday but, since he had the same time as the lead riders, retained his 1-second overall lead for the Tour de France. Julien Simon is listed second with Gerrans in third and Michal Kwiatkowski, who was fourth Monday, fourth overall.
The race leaves Corsica for the French mainland and Tuesday's fourth stage, which is a 15.5-mile team time trial in Nice.