The top seed claimed the opening set before her Serbian opponent battled back to force a decider.
Though at times she appeared to be on the ropes, Wozniacki rallied well to clinch a 6-3 3-6 6-3 win and set up a last-four showdown with Sabine Lisicki who beat Karin Knapp 7-5 4-6 6-0.
The other semi will be contested by Swiss Stefanie Voegele, who upset American second seed Sloane Stephens 6-3 3-6 6-2, and Germany’s Annika Beck, who saw off Katarzyna Piter of Poland in another three-set quarter-final which included two tie-breakers.
Barty retains top spot with Osaka loss, will move ninth in all-time standings
Luxembourg Championship quarter-finals
1-Caroline Wozniacki (Denmark) beat 8-Bojana Jovanovski (Serbia) 6-3 3-6 6-3
3-Sabine Lisicki (Germany) beat Karin Knapp (Italy) 7-5 4-6 6-0
Stefanie Voegele (Switzerland) beat 2-Sloane Stephens (U.S.) 6-3 3-6 6-2
Annika Beck (Germany) beat Katarzyna Piter (Poland) 6-3 6-7(3) 7-6(5)
Kremlin Cup women’s quarter-finals
Anastasia Pavlyuchenkova (Russia) beat Daniela Hantuchova (Slovakia) 6-0 6-4
5-Simona Halep (Romania) beat Alisa Kleybanova (Russia) 6-1 6-1
8-Svetlana Kuznetsova (Russia) beat 2-Roberta Vinci (Italy) 6-2 6-3
7-Samantha Stosur (Australia) beat 4-Ana Ivanovic (Serbia) 7-5 6-4
Wozniacki on rheumatoid arthritis, retirement and life without tennis
Wozniacki waves emotional farewell to tennis after being knocked out by Jabeur