The 24-year-old, who beat 2008 champion Maria Sharapova in the fourth round, attacked Halep's serve and controlled many of the rallies by keeping the Romanian pinned deep behind the baseline.
The 20th seed broke early in both sets and used that advantage to put pressure on the counter-punching Romanian, who became increasingly frustrated at her play and inability to stem the Slovak's momentum.
Cibulkova, who lost in the 2009 French Open semi-final to Dinara Safina, will play either two-time defending champion Victoria Azarenka or fifth-seed Agnieszka Radwanska for a place in Saturday's final.
Image: Dominika Cibulkova
Photograph: Clive Brunskill/Getty Images
Did Stephens cheer when Serena lost in Australian Open?
PHOTOS: Federer leads 'Big Four' charge into quarters
Australian Open: Nadal survives Nishikori scare; Sharapova exits
Advancing Azarenka sidesteps marriage talk
Anne Hathaway, Irrfan: A day out in Hollywood