The circuit near Milan has been on the calendar every year bar one since the championship started in 1950 but had no contract beyond this year and its future had been uncertain.
Roberto Maroni, president of the Lombardy region, said on his Facebook that a deal had been reached.
"The Grand Prix will stay in Monza," he said. "With a few days to go until the signing of the contract, I'm very satisfied."
Cabinet Undersecretary Luca Lotti, one of Prime Minister Matteo Renzi's closest aides, also said a deal had been done. "Teamwork pays just as it does in Formula One," he said on Twitter.
News that makes sense
Your trusted source for staying up-to-date with the world around you. Get free daily news updates and analysis, straight to your inbox.
Italian media said the new deal would be for three years.
Monza's absence from the calendar would be unthinkable for most fans, not least those of Ferrari for whom Monza is home territory.
This season's race will be held on Sunday.
(Writing and reporting by Brian Homewood; Additional reporting by Gavin Jones; Editing by Alison Williams)
