Contador went solo with two kilometres remaining, but De La Cruz got across just outside the final kilometre – a move which would have a huge bearing on the overall outcome.
Though Contador led the sprint out, De La Cruz comfortably beat him for the stage victory and all eyes turned to the clock.
But Henao was led home in the same group as Sonny Colbrelli (Bahrain-Merida), the Italian crossing 21 seconds after Contador, meaning it was the Team Sky man celebrating.
With Martin in the same group, the Birmingham-born Irishman claimed third overall, while Simon Yates finished ninth overall – the highest British finisher.
Paris-Nice 2017: stage eight – result
1) David De La Cruz (ESP) – QuickStep Floors – 2.48.53hrs
2) Alberto Contador (ESP) – Trek-Segafredo – ST
3) Marc Soler (ESP) – Movistar +5”
4) Sonny Colbrelli (ITA) – Bahrain-Merida +21”
5) Julian Alaphilippe (FRA) – QuickStep Floors – ST
6) Michael Matthews (AUS) – Team Sunweb
7) Diego Ulissi (ITA) – UAE Team Emirates
8) Gorka Izaguirre (ESP) – Movistar
9) Arnold Jeannesson (FRA) – Fortuneo-Vital Concept
10) Lilian Calmejane (FRA) – Direct Energie
General classification
1) Sergio Henao (COL) – Team Sky – 29.50.29hrs
2) Alberto Contador (ESP) – Trek-Segafredo +2”
3) Daniel Martin (IRL) – QuickStep Floors +30”
4) Gorka Izaguirre (ESP) – Movistar +1.00
5) Julian Alaphilippe (FRA) – QuickStep Foors +1.22
6) Ilnur Zakarin (RUS) – Katusha-Alpecin +1.34
7) Ion Izaguirre (ESP) – Bahrain-Merida +1.41
8) Warren Barguil (FRA) – Team Sunweb +4.07
9) Simon Yates (GBR) – Orica-Scott +4.39
10) Tony Gallopin (FRA) – Lotto-Soudal +9.14