Mundy was drafted by Fremantle at selection 19 at the 2003 AFL Draft. This selection was traded to Fremantle by the Western Bulldogsin return for Steven Koops. Upon moving to WA in 2004 he was allocated to the Subiaco Football Club in the West Australian Football League. He spent the entire 2004 season playing with Subiaco and was a part of their premiership team. Impressive WAFL form continued into 2005 and he was selected by Fremantle to make his AFL debut at the MCG against Melbourne in Round 6. His poise and composure in defence saw Mundy maintain his position in the side for all 17 remaining games for the season. In round 14 he was recognised by the AFL by being nominated for the AFL Rising Star award. In the final voting, he came 3rd behind Brett Deledio and Ryan Griffen with 15 votes. He also was awarded the 2005 Beacon Award as the best young talent on the Fremantle list. Mundy started the 2008 season in good form, and was shifted to a midfield role late in the season in order to use his kicking ability. In 2009, he played his 100th game and was only the eighth player in league history to play them consecutively from debut. He played 124 consecutive games from his debut until he was a late withdrawal due to stomach cramps before the Round 17, 2010 match against the Western Bulldogs. 2010 was his best season to date, and he was recognised by being named in the 40-man squad for the 2010 All-Australian team and also won the Doig Medal as Fremantle's best player for the year. At the end of the 2010 season, there was much speculation that Mundy would not renew his contract with Fremantle and would instead either return to play in Melbourne, or be recruited by the new Gold Coast Football Club. However, he rejected all other offers and re-signed with Fremantle in September 2010 for an additional four years. He then later re-signed at the end of 2014 for another 3 years. He extended his contract for a further year early in the 2017 season. A highlight in 2015 was during the Round 17 clash with Richmond Football Club at the MCG. In the final minutes of the game, a Richmond kick out after a Fremantle behind was marked by Garrick Ibbotson who passed to Mundy approximately 45 metres out from goal. Mundy kicked a goal with 40 seconds left, leading Fremantle to a 4-point victory. He would repeat a very similar play again against Richmond at the MCG in 2017, when he marked the ball 25m out from goal with 11 seconds remaining in the game. He kicked the goal after the siren and gave Fremantle the win by 2 points. In 2016, he was named the captain of Fremantle, however, the team headed into one of their worst seasons to date, with only four wins that year. In 2017, the captaincy was passed to Nathan Fyfe. Mundy was the second Fremantle player to reach 300 games, after Matthew Pavlich. His 300th game was a win at Optus Stadium in April 2019.