Kennaugh (Sky) rode away from the breakaway group of six along with Ben Swift and then dropped the surprising UAE Team Emirates sprinter in the closing stages of the climb.
“It took us a while to make the break, but once the front group was established I knew I had a good chance,” Kennaugh said. "I targeted the top of Col de Sarenne.
“Chapeau to Ben Swift for having stayed with me up there. Initially, he was gonna help [Diego] Ulissi. We've known each other since we were nine years old so I knew he's someone able to climb.
“I wasn't confident I was gonna beat him in a sprint. I had to get rid of him, which I did.”
Porte (BMC) not only retained the yellow-blue jersey but increased his advantage over runner-up Chris Froome with an attack the Team Sky rider could not counter.
The original break of 17 became six with Kennaugh, Swift, Diego Ulissi (UAE Team Emirates), Delio Fernandez (Delko Marseille Provence KTM), Jelle Vanendert (Lotto-Soudal) and Jesus Herrada (Movistar).
Romain Bardet (AG2R) rode away solo from the Porte group to join Andrew Talansky (Cannondale-Drapac) who had gone clear earlier in the 168km stage from Aoste to L'Alpe d'Huez.
Kennaugh began his solo to victory 3.3km before the finish as he tackled the last part of the traditional ascent of L'Alpe d'Huez.
Bardet then shook off Talansky on the climb as Porte did the same to Froome, Alejandro Valverde (Movistar), Alberto Contador (Trek Segafredo) and the rest of the field in the final kilometre.
Stage 6 winner Jakob Fuglsang (Astana) was the only rider who could hold Porte’s wheel as he went on to increase his advantage over Froome to more than one minute ahead of the final stage to Plateau de Solaison.
“Attack was the best form of defence in the finale,” Porte said. “My team just incredibly covered the moves of the best riders beforehand. They did a fantastic work.
“We can't be complacent. I expect fireworks tomorrow. It'll be a short stage. It's not over until it's over, but my team is incredibly strong so I want to finish it off for them.”