The confirmation came late on Tuesday night after the CoA impressed upon the BCCI's Cricket Advisory Committee (CAC), comprising Sourav Ganguly, Sachin Tendullkar and VVS Laxman, the urgent need to end the uncertainty over the next India coach.
The vacancy arose because Anil Kumble resigned after the Champions Trophy in June, stating that his partnership with India captain Virat Kohli had become "untenable". India went to the West Indies to play a limited-overs series without a head coach.
Shastri was one of five candidates the CAC interviewed for the role, along with Virender Sehwag, Tom Moody, Richard Pybus and Lalchand Rajput. He had not applied when the BCCI invited applications for the first time, but did so after Kumble was no longer in the fray.
Shastri had applied for the role in 2016 as well, and was disappointed to lose out to Kumble, because India had done well during his tenure as director.
He had been appointed team director in August 2014 and under him, India made it to semi-finals of successive global events - the 2015 World Cup and the 2016 World T20 - and also climbed to No. 1 on the Test rankings for a period of eight weeks until February 2016. During that time, India also won their first limited-overs bilateral series in Australia, whitewashing the hosts 3-0 in a T20I series. While he worked alongside Duncan Fletcher in the early part of his tenure, Shastri had sole responsibility of the team after the 2015 World Cup.
Zaheer, a former India fast bowler, has no formal coaching experience but he has been part of the Delhi Daredevils thinktank in recent IPL seasons. He was offered the role of bowling consultant last year by the BCCI, but both parties could not come to an agreement over remuneration.
Dravid recently gave up his position as the Daredevils mentor, after accepting a two-year contract to coach the India A and Under-19 teams.
The appointments bring to an end a period of uncertainty over the India coaching job that began at the end of May, when Kohli told BCCI officials that some players were uncomfortable with Kumble's approach to man management. Following Kohli's feedback, the BCCI advertised for the position and Kumble was one of several candidates to apply. While Kohli maintained in public that there were no problems with Kumble, the issue came to a head soon after the Champions Trophy when, with no new coach in place, Kumble was offered an extension to cover the tour of the West Indies but decided to step down instead.
Shastri's first assignment as head coach is the Test series in Sri Lanka, which begins on July 26.