McVeigh was the Swans’ first round draft pick in the 2002 AFL Draft, fifth overall, and made his debut for the Club in round one of season 2004.
The 24-year-old has since racked up 123 games, kicked 88 goals and firmly established himself as a hard-running midfielder.
“I am very happy, I love the Club and I love Sydney and I look forward to being here for at least the next three years,” McVeigh told sydneyswans.com.au.