The Whites Ferns beat Pakistan by 59 runs and maintains New Zealand's lead at the top of the Group A standings with one game left in pool play. They take on South Africa on Tuesday morning (NZT).
New Zealand scored 167 for three in their 20 overs, with Bates and Sophie Devine combining to give them a brisk start in a stand of 83 before Devine went for 44.
Bates then took over, slamming 58 runs off her next 32 balls. She hit eight fours and two sixes as she recorded her top score in Twenty20 internationals.
Pakistan never really threatened New Zealand's target, with Javeria Khan (35) and Sana Mir (35 not out) offering the most resistance and they limped through to 108-7 in their 20 overs.
Felicity Leydon-Davis, playing in her first match at the tournament, took 2-15 in her four overs.
New Zealand 167-3 (Bates 94*, Sadia 2-24) beat Pakistan 108-7 (Mir 35*, Leydon-Davis 2-15) by 59 runs.