Jean-Claude Marcourt, economics minister for the local Wallonia region, told public broadcaster RTBF that the "agreement in principle" for the 2013, 2014 and 2015 seasons was reached with F1 chief executive Bernie Ecclestone.
"We were able to negotiate a contract extension for the years 2013, 2014 and 2015, where there will be the Belgian grand prix at Spa-Francorchamps in Wallonia," he said.
The current contract expires after this September's race at the hugely-popular circuit.
"What I wanted to do was to reduce the size of the expenditure budget for the Walloon region," Marcourt continued, "and I would say we have accomplished the mission.
"There was no way we could continue to lose as much money as we have been."
The minister said earlier plans to annually alternate the event with France ended along with Nicolas Sarkozy's administration.
Marcourt said that plan "was considered at the request of our French friends. Unfortunately or fortunately, they did not give practical effect to those proposals, and so we decided to sign for a further three years".