The 24-year-old, hotly pursued by Robert Gesink (LottoNL-Jumbo), overcame cramp in the final kilometres to take his first victory at the Tour de France and also the polka dot jersey.
Calmejane enjoyed a 37 second buffer over Gesink as another young Frenchman Guillaume Martin (Wanty-Groupe Gobert) finished third, 50 seconds behind his compatriot.
It's the rising star's second Grand Tour victory after he won stage 4 of the 2016 Vuelta a Espana in a similar fashion, pulling clear from 20 breakaway companions in the climb to Vixa de Hebeira.
"I hope everyone enjoyed the show, " the youngster gushed happily.
"As a team, we had decided to go on the offensive and it paid off. In the finale, I knew Gesink wasn't far behind. But I didn't give anything away. I got a bit scared when I cramped between 6 and 4km to go but I had the experience of the same thing happening at Tour de l'Ain last year and I knew what to do.
"It's fantastic. I'm a rider with a lot of panache. I don't like chasing World Tour points or a place on GC. We'll see what my future is like. I'm not the future Bernard Hinault.
"This is my first Tour de France. It's too early to tell what lies ahead for me."
There was one dicey moment for Chris Froome (Sky) as he overcooked a corner on a descent with 45 kilometres to go.
— CyclingCentral (@CyclingCentral) July 8, 2017
"It was a little bit of a reminder of how quickly things can change in the Tour de France. It can end your race but Geraint Thomas is alright and I didn't fall," he said.
While there was no change to the general classification, the stage delivered plenty in the way of attacks and counter punches from the non-GC favourites.
As it happened
A flurry of attacks opened the start of the stage in Dole, Alexis Vuillermoz (AG2R) the first to try his luck as the the race would reach his home town 30 kilometres from the finish.
But his and several other attacks didn't stick as the sprint teams eyed the intermediate sprint just 45 kilometres from the start.
Greg Van Avermaet (BMC), Alexey Lutsenko (Astana) and Sylvain Chavanel (Direct Energie) however, looked to be clear they were clear after 25 kilometres raced and a 25-second lead, but were brought back eight kilometres later. Chavanel doggedly attacked again this time with Serge Pauwels (Dimension Data) on the non-categorised Belvédère du Fer à Cheval climb as Arnaud Demare (FDJ) looked in trouble out the back and would go on to struggle for time cut survival.
The peloton came back together as the intermediate arrived at Montrond.
Andre Greipel (Lotto Soudal) took the maximum 20 points here over Michael Matthews (Sunweb) and Marcel Kittel (QuickStep Floors). There were several more attacks and counter attacks including a short burst by eventual stage winner Calemejane.
With 30 green jersey points on offer for the finish, Matthews looked determined to stay away, finding himself in a group of 46 riders which unhooked from the yellow jersey group after 75 kilometres raced and then bridging to the smaller group of around 16 riders that formed on the Col de la Joux, crested first by Warren Barguil (Sunweb) and Pauwels after surging clear for what was at this stage, just moments.
But the Canberran couldn't hack the pace on the category 2 Cote de Viry, Barguil beating Jans Bakelants (AG2R) to the maximum points at the top. Simon Clarke (Cannondale-Drapac), Bakelants, Van Avermaet, Pauwels, Barguil, Gesink, Calmejane, pulled clear with 48 kilometres and the final climb to go.
They were strangely joined by Nicholas Roche, a key team mate for Richie Porte who at this point in the race rode alone with GC favourites surrounded by their own armadas. The Irishman was obviously permitted a crack at the stage win but faltered on the final climb. With a hard day in the mountains on the menu tomorrow, it remains to be seen how Porte's designated road captain will back up.