The Italian sprinter, frustrated to leave the Giro d’Italia empty-handed in May, took the first pure sprint opportunity of this year’s Tour as he edged out UAE Team Emirates’ Alexander Kristoff on the line.
It was a second consecutive stage victory for Viviani’s Belgian team after Alaphilippe’s champagne moment in Epernay on Monday powered him into the yellow jersey.
Several sprinters had targeted Saturday’s opening stage in Brussels but an uphill drag to the finish line proved too much for the pure quickmen.
“It means a lot,” said Viviani, who has won five Giro stages and three Vuelta stages, but was missing one from the biggest race of all. “Probably I can’t believe it still. It was a big goal of the year. We missed the first chance and put the yellow on.
““But I think after Julian’s phenomenal ride yesterday, it’s a moment when you switch on the team.
“Today we did a perfect job, you saw how the lead-out did.
“I’m pretty happy. I was missing this win.
“I won in the Giro and the Vuelta and now in the Tour de France, that means a lot to me.”
Lotto-Soudal’s Caleb Ewan had to settle for third while former world champion Peter Sagan of Bora-Hansgrohe came fourth.
The bunch finish meant there was no change at the top of the general classification, in which Alaphilippe leads by 20 seconds from Jumbo-Visma’s Wout Van Aert.