And, after a solid scrum gave Sam Christie the chance to attack the defensive line, he slipped the ball for Willison to score Waikato's only try of the game.
Constant infringements from the home side had kept Waikato in the game, with Trent Renata kicking seven penalties to counter Bay of Plenty's three tries. The fullback's accuracy with the boot, combined with Willison's late heroics, prevented what could have been a decisive encounter against fellow strugglers Taranaki next week.
Instead, it will be the Bay who will have to adjust to life in the Championship next season, an outcome their rugged defence did their best to avoid.
The Steamers illustrated their resolute nature in the opening 10 minutes, leaving Waikato to settle for a penalty after the visitors enjoyed 95 per cent territory. Two more Renata penalties were all Waikato could manage in a dominant opening half hour, before Bay of Plenty showed the way to the line.
When the hosts finally spent some time in the right part of the field, they were rewarded with tries to Josh Sole and Johan Bardoul. First, the lock was the benefactor after a break from Maritino Nemani up the middle, before the flanker took advantage of woeful Waikato defence right on the break.
Bay of Plenty's 15-12 lead at the half was immediately increased when play resumed, with Kendrick Lynn's fine pass allowing Nemani to stroll over. But, with Waikato continuing to go up in threes and pulling within four points, the Steamers were in for a nervous final 10 minutes.
And those frayed nerves became broken hearts when Willison went over to decide both the game and Bay of Plenty's fate.
Bay of Plenty 25 (Sole, Bardoul, Nemani tries; Ripia 2 pens, 2 cons)
Waikato 28 (Willison try; Renata 7 pens, con)
HT: 15-12