Both players were due to come out of contract at the end of this season, when McMahon would have become an unrestricted free agent.
Tarrant and McMahon join Daniel Wells, Jack Ziebell, Shaun Atley, Jamie Macmillan and coach Brad Scott in recently re-committing to the Roos.
Former rookie McMahon, 26, has played 106 games since making his debut for the Roos in 2007 and has become one of North's most important players in defence.
Tarrant, 23, was plagued by injuries in his first three seasons at North, but emerged as a key forward last season, playing 16 games.
McMahon told NMFC.com.au he had not considered leaving the club.
"I wouldn't leave because North is pretty much my family. The club has treated me and my wife Des so well over the years," McMahon said.
"The club is doing everything right by the players and the supporters in the way we're headed.
"There's so much to look forward to and I'm hoping we can win a premiership in my time."
Tarrant said he owed North "a great deal" for supporting him during his injury-plagued start at the club.
"They've been really good to me over a number of years on the field and off the field," Tarrant said.
"I was never not going to stay. As soon as they put something to Paul (Connors), my manager, I was happy to sign it.
"When you look at the guys who have recently agreed to new deals, the future is good and I would have been crazy not to re-sign."
Nick Bowen covers North Melbourne news for AFL.com.au. Follow him on Twitter: @AFL_Nick