Vestergaard was born to a Danish father and a German mother in the Copenhagen suburb of Hvidovre and grew up in Copenhagen.
His German grandfather Hannes Schröers and uncle Jan Schröers were also footballers for Fortuna Düsseldorf and Bayer 05 Uerdingen respectively. His cousin Mika Schröers played for Borussia Mönchengladbach's youth teams in 2016.
He has a girlfriend, Pernille, and a dog, Brady.
On 11 June 2016, Vestergaard joined Borussia Mönchengladbach for a reported transfer of €12 million plus bonuses.
Besides Denmark, Vestergaard was also eligible to represent Germany through his German mother.
Vestergaard represented the Denmark national youth teams at under-18, under-19, under-20 and under-21 levels. He received his first call-up to the Denmark senior team in August 2013, describing it as his "dream" to play for the country, and he made his debut later that month in a match against Poland. His first goal for Denmark came in his first competitive game, against Sweden in the European Championship play-off return leg on 17 November 2015.
He represented the Denmark U21 team at the 2015 UEFA European Under-21 Championship in the Czech Republic, and scored in a 2–1 defeat of the host nation in the opening match at the Eden Arena in Prague.
Vestergaard was a member of Denmark's squad at the 2018 FIFA World Cup in Russia, but did not make any appearances in the tournament.