Yadav’s 61 not out included 10 boundaries and continued his impressive year which has seen him score more T20I runs than anyone on the planet.
It was then smooth sailing for the Group 2 winners with Zimbabwe’s chase of 187 doomed from the start, losing a wicket on the opening ball and never looking like any chance of producing the day’s second big upset.
Zimbabwe was bowled out for 116 with Ravichandran Ashwin (three wickets for 22 runs) doing the damage.
Earlier the Netherlands stunned South Africa, turning Pakistan’s clash with Bangladesh into a virtual quarter-final.
A win by Pakistan saw them finish second in Group 2 behind their great rivals India, with a blockbuster final between the pair now a live chance.
Pakistan will face New Zealand in the first semi-final at the SCG on Wednesday night (7pm AEDT), with India to battle England in the other semi-final at the Adelaide Oval on Thursday night (7pm AEDT).
The bracket is similar to that of the 1992 World Cup, also hosted in Australia, when Pakistan beat New Zealand in the semis and then England in the final.
This year’s World Cup final will be at the MCG on Sunday November 13 from 7pm AEDT.
Unlike the Super 12 stage, which saw several matches rained out, there are reserve days for the playoff rounds.