The 19-year-old from New South Wales, who missed Australia's first game against India, took the new ball alongside player of the match Xavier Bartlett.
Hadley claimed figures of 1-39 off his 10 overs, as Australia dismissed Zimbabwe for 134 and chased down their target for the loss of just three wickets inside 19 overs.
Australia will now take on Papua New Guinea in their third group match tomorrow at Lincoln.
The top two teams from each group go through to the quarter final stages, with Australia currently second in Group B behind India.
Australia Under 19s Squad
Jason Sangha (NSW, captain), Will Sutherland (VIC, vice captain), Xavier Bartlett (QLD), Max Bryant (QLD), Jack Edwards (NSW), Zak Evans (VIC), Jarrod Freeman (TAS), Ryan Hadley (NSW), Baxter Holt (NSW), Nathan McSweeney (QLD), Jonathan Merlo (VIC), Lloyd Pope (SA), Jason Ralston (NSW), Param Uppal (NSW), Austin Waugh (NSW). Coach: Ryan Harris. Assistant Coach: Chris Rogers
2018 ICC Under 19 Cricket World Cup - Group Matches
14 January: Australia (228) def by India (7-328) at Bay Oval, Tauranga
17 January: Australia (3-135) def Zimbabwe (134) at Lincoln #3
19 January: Australia v PNG at Lincoln #3 (10.30am local start)