Since debuting in 2001 he has played over 200 games for the club. He has played in a variety of roles for the Kangaroos including centre half-forward, defence and ruck. In a game against the Western Bulldogs in 2007 he helped inspire North Melbourne to a win in Glenn Archer's 300th match, kicking seven goals—six of them in the first quarter. His form continued the following week when he kicked another six goals.
Petrie was selected by coach Mick Malthouse for Australia in the International Rules series against Ireland as a utility player. He was a key player during the second test at MCG, scoring two overs (three points each) in quick succession early in the last quarter. He added a goal (six points) in the final minute giving Australia some hope of snatching a win. In the end, however, Ireland won the series by five points (on aggregate).
Petrie was named as a vice-captain of North Melbourne at the start of the 2009 season and filled-in for the newly appointed captain, Brent Harvey, who missed half the season with an elbow injury. Petrie was North Melbourne's top goal scorer in 2009 with 27 goals and again in 2011 with 48.
After missing most of the 2010 season. In 2011, Petrie was selected in the All-Australian Team on the interchange.
Early in the season Petrie struggled to have the same impact as the previous year. However the forward was still finding ways to get on the scoreboard, kicking a respectable 12 goals in the first seven games. From that point he turned on an impressive feat of goal kicking form, managing 46 in the final 15 matches despite being used as a decoy on multiple occasions. Petrie kicked 23 goals between Rounds 16 and 19 to temporarily lead the Coleman Medal. His final tally of 58 goals was the highest of his career and pushed him past 250 career goals.