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.
Boulter, Norrie through in Miami - Watson out
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.
Boulter falls to Schmiedlova in straight sets in first round
'It means a lot' - Muguruza relieved to end trophy drought