The peloton hunted down lone escapee Maciej Bodnar (BORA-hansgrohe) in final few hundred metres, with Kittel again bursting clear of the pack to take his fifth win of this edition of the Tour.
"It's incredible sometimes," Kittel said. "I think, when you are on your top level or your top game in the sprint, it's like playing Tetris. I think the last games I always got the right gaps and never made a mistake. All the lines were perfect, all the sprinting lines. Again I jumped from wheel to wheel, it's incredible."
Kittel again launched his sprint from well behind the front riders, working his way down the windward side of the road to take a win that highlighted his superiority over the sprinting competition.
"It's hard to work on it (timing your sprint) I think," he said. "It all comes together, I have the legs for it and I have the mind for it. It's perfect at the moment. It's not over, yes. But I'm happy that I've used all the chances I've got so far. It can't get worse from here on in."
Edvald Boasson Hagen (Dimension Data) seemed to salute as he went over the finish line for third, only to turn it into a handlebar smash as he saw Kittel over on the other side of the road.
The battle for the yellow jersey remained unchanged as Chris Froome (Sky) finished unscathed within the peloton, though a number of team leaders will be nursing injuries after a number of small crashes punctuated the stage.
As it happened
Maciej Bodnar (BORA-hansgrohe), Frederik Baeckaert (Wanty-Groupe Gobert) and Marco Marcato (UAE Team Emirates) made the break of the day and allowed to go early by the Quick-Step Floors led peloton.
The Belgian team was clearly keen to notch win number five for their big German sprinter, though they got significant help from Lotto Soudal and Katusha-Alpecin.
The intermediate sprint came 61km from the finish and was hotly contested by those that considered themselves to still be in with a shot at clawing back the large advantage of Marcel Kittel in the race for green.
Alexander Kristoff (Katusha-Alpecin) and Michael Matthews (Sunweb) were the fastest over the line, but Kittel barely got out of first gear, clearly saving plenty of energy for the final sprint.
A number of small crashes caught out a number of riders hoping for a quiet day. General classification contenders Romain Bardet (AG2R), Jakob Fuglsang (Astana) and Alberto Contador (Trek-Segafredo) all weathered falls to make it back to the peloton, but will nurse injuries into the upcoming pair of crucial mountain stages.
Bodnar attacked his breakaway companions with 24km remaining as the peloton closed the gap to below half a minute. The Polish strongman pushed out the advantage with his time-trial pedigree, but it was always going to be a tough ask against a peloton motivated for a sprint finish.
Bodnar continued to put in a heroic fight into the final kilometres keeping his slender advantage in check as the lead-outs of Direct Energie, LottoNL-Jumbo and Sunweb came to the fore to position their sprinters for the final kick to the line.
In the end, Bodnar fell agonisingly short, swept up just as the fast men launched with 350 metres left in the race.
Boasson Hagen shot off down the barriers, boxed out Matthews and looked like he might take the win. He also saluted as he went over the line, but he hadn't seen the German powerhouse sweeping down the other side of the road with Dylan Groenewegen (LottoNL-Jumbo) in his slipstream.