The Steamers got on the board through a Luke Campbell penalty, after more good work from impressive No 8 Joe Tupe, but the home side were in again from the kick-off through winger Wes Goosen after a clean break by Garden-Bachop.
Leading 17-3 Wellington looked well in control, helped by Bay of Plenty's turnovers and poor lineout.
The Steamers finally crossed the try-line through winger Monty Ioane after 35 minutes but he was held up by a fine tackle from Goosen.
Wellington started the second spell with a second converted try to Goodes after nine phases to lead 24-3.
Bay of Plenty fought back through a try to midfielder Terrence Hepetema from a clever kick from Dan Hollinshead, who converted to close the gap to 24-10.
Bay of Plenty changed their front row, with Aidan Ross impressing, which lifted their intensity as they competed well in the last 20 minutes as the weather conditions deteriorated.
Wellington had to defend for long periods in the second half but Bay of Plenty could not convert their improved performance into points.
Wellington 24 (Reg Goodes 2, Peter Umaga-Jensen, Wes Goosen
tries; Jackson Garden-Bachop 2 con) Bay of Plenty 10 (Terrence Hepetema try; Dan Hollinshead con; Luke Campbell pen) HT: 17-3