22-year-old Boulter stunned eighth seed Maria Sakkari in the previous round and started her match against Krejcikova well by breaking in the second game on her way to the opening set.
World number 227 Krejcikova fought back and secured three breaks of her own as she levelled the match by taking the second.
'So unprofessional' - Muguruza 'wasn't happy' with Krejcikova reaction after win
Boulter kept her composure and broke early in the final set, although Krejcikova responded by instantly breaking back.
However Boulter got the crucial break in the eighth game and served out for victory.
Boulter will face top seed and world number six Karolina Pliskova next up.
World number 101 Boulter will be expecting to move into the top 100 following her excellent showing in Tianjin.
Krejcikova is now 'a force to be reckoned with' after Paris crown - Evert
Unseeded Krejcikova beats Pavlyuchenkova to win first Grand Slam