Dunedin dominated the second spell and scored three more tries when it beat Green Island at Kettle Park.
Dunedin's dominant pack won most of the ball in the first spell but its backline muddled its way through with turnovers and other lost scoring opportunities.
The ball was spilled on two occasions with the line open.
Green Island scored the first try when it counter-attacked.
Fullback Albert Alapati was tackled close to the line and flanker Jason Bint was up in support to score the try.
Dunedin finally scored after 30 minutes when flanker Simon Luke crashed over after a rolling maul from a lineout.
Dunedin led 10-5 at the break but the gap closed to two points when first five-eighth Alex Davies kicked a penalty goal soon early in the second spell.
Prop Will Henry led the charge for Dunedin in the second half when it dominated possession with its powerful scrum and dominant lineout.
Henry and hooker Dan Cairns made ground with the pick and go and lock Richard Thompson gained two-handed ball in the lineout and was dangerous with the ball in hand.
The first try started 80m out and the ball passed through several hands before powerful centre Michael Walding pushed off three defenders to score the try.
Dunedin gained the bonus point when it ran a penalty from close to its own line.
The ball went through 10 sets of hands hands before No 8 Joe Dobson scored in the corner after a 98m move.
Halfback Fraser Lau and Walding were the best of the Dunedin backs while centre Sam Erepia, No 8 Guy Archibald and Bint defended gamely for Green Island.
Dunedin 25 (Michael Walding, Joe Dobson, Dan Cairns, Simon Luke tries; Robbie Smith pen, con), Green Island 8 (Jason Bint try; Alex Davies pen).
Halftime: Dunedin 10-5.
Referee: Liam Scanlon.