In a historic first, in October the European Commission rejected Italy's big-spending budget, which promised a universal basic income and scrapped pension reform.
In Wednesday's deal, Italy agreed to back down on both of its landmark measures, and is now committed to not adding to its colossal €2 trillion euro debt load next year.
READ ALSO: Italy's budget battle with Brussels: What you need to know
Photo: Gerard Cerles/AFP
"Intensive negotiations over the last two weeks have resulted in a solution for 2019," EU Commission Vice President Valdis Dombrovskis told reporters in Brussels.
"Let's be clear: the solution is not ideal. But it avoids opening the excessive deficit procedure at this stage," he added, referring to a process that could result in major fines for a member country.
To win the compromise, Brussels in return offered some flexibility in calculating the budget in light of "exceptional circumstances", including the modernisation of infrastructure after a tragic bridge collapse in Genoa last August.
"Basically, this agreement is a victory for dialogue over confrontation," said European Economic Affairs Commissioner Pierre Moscovici.
READ ALSO: Here are the main things included in Italy's 'people's budget'
Italian Prime Minister Giuseppe Conte (C) with his deputies Luigi Di Maio (L) and Matteo Salvini (R). Photo: Filippo Monteforte/AFP
Italian Prime Minister Giuseppe Conte told senators in Rome that the deal in no way reneged on his government's promises but instead offered a solution "that is good for Italians and also satisfactory for Europe".
Deputy Prime Minister Luigi Di Maio, the head of the populist Five Star Movement, hailed a success "without ever betraying the Italian people".
The EU and Italy negotiated intensely in recent days with both sides worried that a protracted feud would alarm the markets and ignite a debt crisis in the eurozone's third biggest economy.
The situation grew politically thornier for Brussels after France last week announced a new wave of spending for 2019 that will also break EU rules on public spending. This came in response to 'yellow vest' protests that forced French President Emmanuel Macron to turn away from EU-backed belt-tightening ahead of European elections next year.
Italy and others complain that powerful France receives special treatment on its budget plans by the EU Commission.
Without the compromise, Italy would have ultimately faced a fine of up to 0.2 percent of the nation's GDP after a long and rancorous process with its eurozone partners.
The talks centred on the so-called structural deficit, which includes all public spending minus debt payments. Italy's first budget was set to blow through commitments made by the previous government, with a deterioration to a 0.8 of GDP structural deficit, which would require Rome raising even more debt.
The deal on Wednesday said this would now be balanced, with the overall deficit at 2.04 percent of GDP.
Italy's public debt is a big problem and now sits at a huge €2.3 trillion, or 131 percent of Italy's GDP -- way above the 60 percent EU ceiling. European sources believe that the cost of servicing Italy's debt quickly turned Rome away from confrontation with Brussels that many predicted would drag on until next summer.
The "spread" -- the difference between yields on 10-year Italian government debt compared with those in Germany -- has retreated significantly since Rome adopted a more conciliatory position. The spread stood at 255 basis points on Wednesday, far from the highs of around 330 points when Italy submitted its first proposal in October.
The deal will now be debated by eurozone ministers in the coming weeks, with fiscal hardliners already critical of the compromise.
"We regret that the European Commission is failing its budgetary tasks just when we are engaging in reforms for the eurozone that require consistency and trust," an EU diplomat told AFP.
By AFP's Alex Pigman