Ewan (Lotto Soudal) picked his way through the maelstrom of riders in the sprint, emerging at the last possible moment to claim another Tour de France stage victory - he now has a total of five during his career.
The Australian came off Sam Bennett's (Deceuninck-QuickStep) wheel to poke past the sprint classification leader at the finish, with Peter Sagan (BORA-hansgrohe) also edging out Bennett on the line for second in Stage 11.
In doing so, Ewan avenged the result from Stage 10, where he felt that he left his sprint a little late.
"I had a real desire to win today after yesterday," Ewan said.
"I was quite disappointed with my sprint. I'm delighted to repay my teammates again with the stage win."
McEwen, a triple winner of the Tour de France's green jersey, analysed his countryman's thrilling victory via the SBS touchscreen.
"I could have a bellyache after this one - there's so much to digest," McEwen said.
"Caleb Ewan was biding his time and remaining calm.
"Caleb made sure he was making his acceleration on time today - not leaving it too late, like he did yesterday."