Wozniacki, the world number nine, took the opening set on a tie break on the south coast and looked on course for a place in Saturday’s final.
But the number 41-ranked Hampton fought back to take the second set 7-5 and the third 6-3 to defeat the Dane.
After having to qualify for the event, Hampton will now unexpectedly face another unseeded player in the form of Russia's Elena Vesnina in the final.
Vesnina was completely dominant during her semi-final against Belgium's Yanina Wickmayer, romping to a 6-2 6-0 victory in just 52 minutes.
Vesnina was particularly dominant on her serve where she lost just eight points in the entire match.
In s-Hertogenbosch fourth seed Kirsten Flipkens made the final after beating Garbine Muguruza Blanco and will face Simona Halep in final after he defeated third seed Carla Suarez Navarro of Spain 6-3 6-2.
WTA Eastbourne semi-final results
Elena Vesnina (Russia) beat Yanina Wickmayer (Belgium) 6-2 6-0
Jamie Hampton (USA) beat 5-Caroline Wozniacki (Denmark) 6-7(8) 7-5 6-3
WTA 's-Hertogenbosch semi-final results
Simona Halep (Romania) beat 3-Carla Suarez Navarro (Spain) 6-3 6-2
4-Kirsten Flipkens (Belgium) beat Garbine Muguruza Blanco (Spain) 6-3 6-1