The confirmation came a day after a narrow loss to Port Adelaide meant the Bombers finished last and completed the worst season in their history.
McVeigh, a former Essendon player and current Sydney assistant coach, won the role ahead of Bombers playing great and ex-coach James Hird, as well as Jaymie Graham and Murray Davis.
Brad Scott was sacked on May 25, with Dean Solomon interim coach for the rest of the season.
The search for a new coach has involved a tumultuous selection process, with opinion sharply divided on whether Hird should win another tenure in the role.
Club president Andrew Welsh, who played at Essendon alongside McVeigh and Hird, said the appointment was a unanimous board decision.
"Mark was clearly the best candidate for what this role demands," Welsh said on the club website.
"We weighed every candidate against what this role actually demands, and Mark was the clear standout."
McVeigh, 45, played 232 games for Essendon and returns to the club on a three-year contract after nearly 14 years away, which also included working as an assistant coach at GWS.
He also acted as caretaker coach at the Giants in 2022.
"We're not looking backwards, we're building the next great era of this football club," McVeigh said.
"That's not built on promises. It's built on our standards, our actions and the work we put in every single day."