The Portuguese - who replaces Luciano Spalletti following his sacking last week - had been out of work since be was dismissed by Tottenham Hotspur in December.
He will not take charge at Zenit officially until Thursday, sparing him the prospect of beginning his reign with a painful night against Borussia Dortmund tonight. The German side lead 4-2 in their Champions League last-16 tie.
Villas-Boas - who will be reunited with striker Hulk, whom he coached at Porto - will be determined to rehabilitate his reputation, since his sacking from Spurs followed a brief and unsuccessful spell as manager of Chelsea. "Zenit has agreed terms on a contract with new head coach Andre Villas-Boas," read a statement on the Zenit's official website.
"The contract will be signed on March 20. Mr Villas-Boas' contract is valid for two seasons."