Otago fought back well and had an even share of possession and territory over the next 20 minutes before a brilliant individual effort from centre Aryahn Clarke doubled the score for the Volcanix. Clarke took off from her own 22 and had too much pace for the Otago defence to bag a memorable try.
Mayes converted for a 12-0 lead with 12 minutes to play in the first spell.
Otago winger Sam Hollows was sent to the sin bin by excellent referee Natarsha Ganley for repeat team offending to give the Volcanix an extra boost leading into halftime.
Winger Sapphire Tapsell started and finished another superb, long-range movement which was called back for a last gasp, forward pass from impressive openside flanker Les Elder.
Clarke scored her second moments later with a sharp dummy, step and burst of speed for a 17-0 lead.
Ganley lost patience with yet more penalties conceded by Otago, sending prop Syreet Norris to the bin as Hollows returned.
Otago lock Julia Gorinski opened the second-half scoring, finishing off a fine move that began at halfway. Olivia Waldron converted to bring Otago back into the game despite being down to 14 players.
Mayes made a hash of a clearance to give Otago a penalty, which was easily converted to reduce the gap to 17-10.
From this point the Volcanix took control. Dashing halfback Williams was held up over the line as Otago got yet another general warning after repeated penalties. Next play, prop Ereti Williams crashed over for the third Volcanix try.
Halfback Williams had her second try to clinch the victory in style for the Volcanix, before Otago scored after the final hooter.
Bay of Plenty Volcanix captain Christie Yule was clearly pleased with the victory.
"The girls played awesome out there. The first 20 was really hard work but we knew we could keep pushing ahead with our fitness. Once we got through that, we knew we could fall back on our systems and keep the pressure on them."
Bay of Plenty 27 (Aryahn Clarke 2, Ora Williams 2, Ereti Williams tries; Crystal Mayes con) Otago 17 (Julia Gorinski, Annemieke Van Vliet tries; Olivia Waldron 2 con, pen). Halftime: 17-0