Kittel had been dropped early in the stage on a third category climb as Matthews's Sunweb team set a fierce pace. Edvald Boasson Hagen (Dimension Data) finished second in a photo finish, with John Degenkolb (Trek-Segafredo) in third.
"I was waiting for the result and he grabbed me on the way past", Matthews, 26, said.
Degenkolb complained that Matthews did not hold his line in the sprint, but the Australian was adamant he raced fairly. The officials saw that, I don't know what they're going to do about it.
"I'm just happy to get through today's stage", said Froome, adding he was looking forward to the race reaching the Alps. "I think it won't sink in until tomorrow morning".
Matthews said with so few stages left he would be hunting high and low for points over the next few days as he tries to snatch the green top from powerhouse Kittel, who has already won five stages at this year's event.
Monsoon session 2017 begins today, here is the agenda
Earlier, talking to reporters outside Parliament, Prime Minister Narendra Modi hoped that the session will be productive. Download the News Nation Mobile App and stay connected with top stories from India and around the world.
Crosswinds in the final 15km of the 165km stage from Le Puy-en-Velay to Romans-sur-Isere then scattered groups all over the road meaning a select group of less than 30 riders reached the finish together.
Froome's Spanish teammate Mikel Landa reclaimed fifth place from Martin, who dropped to seventh, while Nairo Quintana climbed back into the top 10 at the expense of Contador.
"I saw the sprint on TV afterwards".
The defending champion feared he would lose the yellow jersey due to a damaged wheel on stage 15, but he recovered to keep his advantage intact after Michal Kwiatkowski removed his wheel and fitted it on the Brit's bike to save him time.
Safely in the front group were the three riders occupying the podium positions this morning - overall leader Froome, Astana's Fabio Aru and Romain Bardet of AG2R-La Mondiale.