Both sides had opportunities to win the game but a 166-run stand for third wicket between Ross Taylor (90) and Will Young (83) proved the difference.
Otago's Jacob Duffy claimed his fifth five-wicket bag with five for 59.
He had Taylor dropped in the gully before the batsman had opened his account. Had that catch been held, the final result could have been different.