The 23-year-old is the Tigers’ second re-signing in a week, after small forward Daniel Rioli put pen to paper on a two-year deal last Saturday.
McIntosh has played in all but one match for Richmond so far this season, and has bounced back well from an ankle injury that saw him feature in just six games across the entire 2016 season.
“He’s an important player to us and we’re really pleased with the way he’s developed and will continue to develop,” Richmond list manager Dan Richardson told AFL.com.au on Friday.
“He’s one of a number of players in a strong group aged 23 or under who are starting to get a reasonable amount of football under their belts and are starting to play some football together.
“Kamdyn’s strengths are his running power and his speed, and we’ve got him to play some roles as a taller defender and a mix between half-back and wing.”
McIntosh has played 44 games for the Tigers since making his debut in round one, 2015 against Carlton, and has averaged 15.9 disposals, 4.1 marks and 2.7 tackles per game over his career to date.
Richmond still have 11 senior players out-of-contract at the end of this season, including star free agent Dustin Martin.