Jumping early from a significant distance behind the front of the race, Ewan kept his momentum all the way to the line, beating Elia Viviani (Deceuninck-QuickStep) and Dylan Groenewegen (Jumbo-Visma) comfortably.
"It was such a big dream to win one stage and now I've won two, I can't believe it," he said.
Ewan was well-positioned by his Soudal Lotto team mates going into the final kilometre but appeared swamped by the acceleration of Deceuninck-QuickStep, slotting well into the back from the front of the race.

Australia's Caleb Ewan celebrates as crosses the finish line with Slovakia's Peter Sagan to win the sixteenth stage of the Tour de France. Source: AP
But being out of position at this point of the race was an outcome Ewan had planned for prior to the stage.
"We were too far forward," said Ewan. "I had Jasper on the front with Dylan on the wheel with one kilometre to go. We weren't in an ideal situation.
"QuickStep came past and I lost a few more positions than I wanted to. I looked at this finish at the start of the day and I played all the scenarios in my head.
"One of the scenarios was if I was too far back, I lay off the wheel through that roundabout and just went full gas at the wheel and luckily it was enough speed to come around."