The home side must score at least 256 runs on the final day of its final Plunket Shield match of the season if it is to beat Canterbury.
Canterbury will resume its second innings at the University Oval on 294 for eight, 255 runs in front.
Its strong position was sealed yesterday by a 183-run partnership by opener Michael Davidson and Jeff Case, batting at No5.
Davidson (25) led a Canterbury fightback after a disastrous start. It resumed yesterday on 11 for one and lost its first drop, Will Williams, when he was bowled by paceman Warren Barnes for a duck in the second over.
One run later, Otago had its second wicket when Matt Bacon had Ken McClure caught behind.
With Canterbury in trouble at 12 for three it needed some serious consolidation from Davidson and Case and got exactly that.
In the first innings, Davidson was out in the first ball of the match but he turned around his fortunes completely to score his maiden first-class century.
He took 299 minutes to reach 100, scored off 207 balls, including 16 boundaries and a six. But he was forced to retire hurt in the 80th over, with his score at 101, when he was felled by a bouncer.
Case also produced a career best of 90 in just his second Plunket Shield match for Canterbury. He was dismissed when he edged a length delivery from Jimmy Neesham to keeper Derek de Boorder.
Canterbury captain Cole McConchie was out cheaply for the second time in the match to a Michael Rippon delivery three overs later.
Veteran Andy Ellis fought doggedly and added a valuable 46 runs, and Cameron Fletcher made 20. He fell to Barnes, who also took care of tailender Theo van Workom.
Barnes finished with four for 64 from 17 overs, the best of the Volts bowlers.
Bad light again ended the day's play slightly early.
Should Davidson be unable to bat today, the Volts would need only one more wicket before they start their run chase.
Central Districts have won the Plunket Shield after closest rival Wellington could not claim the outright win it needed in the final round, NZN reports
Instead, Wellington fell to a 120-run defeat to host Auckland inside three days.
Had Wellington beaten Auckland, competition leader Central would have had to chase down a mammoth target of 519 to beat Northern Districts and stay top of the table.