Marcel Kittel was involved in a big pile-up 15km from the finish but somehow managed to get back to the front and win the penultimate stage.