Following a four-hour meeting with European finance ministers in Brussels, the chancellor said Britain would make two different payments totalling £850 million, instead the original £1.7 billion.
Osborne said the decision was a "result for Britain" and was "far beyond what anyone expected us to achieve."
Under the new arrangements, the UK will make two, interest-free payments before September 2015.
"Instead of footing the bill, we have halved the bill and delayed the bill," he said.
"Instead of challenging the law, we have actually changed the law. It is a real result for Britain."
The government had refused to pay the full £1.7 billion amount by the December 1 deadline, with David Cameron saying he had some serious concerns over how the figure was calculated.
The contribution of member states is based on an assessment of how well each economy is performing compared to others within the EU.
Mr Cameron warned European leaders that the row over the extra payment had led to a 10-percent swing towards leaving the EU by British voters, with the PM promising to give the British public a referendum on EU membership if the Conservatives win next year's general election.