MSPs have agreed changes to Scotland's income tax system which will set up new rates and bands.
Finance Secretary Derek Mackay has put forward plans for a new five-band system which will cut bills for lower earners but raise them for others.
MSPs passed the proposals, which are part of the budget deal the SNP struck with the Greens, by 67 votes to 50.
The vote means Mr Mackay's spending plans will go to the Holyrood chamber for final approval on Wednesday.
The Conservatives and Labour opposed the changes, which will come into force from the start of the new financial year in April.
Mr Mackay's plans will see two extra bands added to the income tax system, on either side of the basic rate - a 19p "starter" rate for lower earners and a 21p "intermediate" rate for those on middling incomes.
This, coupled with an increase to the tax-free allowance included in the UK budget, will see 70% of Scots pay less tax in the coming year than they do now, while 30% will pay more.
The changes will also add 1p to each of the higher and additional rates, making them 41p and 46p respectively, while limiting increases to the higher rate threshold to raise extra funds for local services and a public sector pay deal.
The finance secretary said taxpayers in Scotland were going to get "the best deal anywhere in the UK".
Mr Mackay said ministers were using Holyrood's powers in a "fair, responsible and balanced way" to set up a tax system which "charts a new course for our country, around fairness and tackling inequality".
He said the budget would provide "stability, stimulus and sustainability" for the Scottish economy while backing frontline services.
Mr Mackay also said the tax plans will create a "settled structure in income tax policy" to "provide certainty for rest of this parliament" - although other opposition parties, including the Greens, have already called for more action in future years.
The Greens have now done a budget deal with the SNP two years in a row, and co-convener Patrick Harvie said the party's approach to taxation had "shifted the debate" in Scotland.
He said he was "delighted" that Scotland had a "radical opportunity to build a fairer tax system" with "progressive values".
The MSP said the SNP had "completely rejected" the idea of having more rates and bands when it was first suggested by the Greens prior to the 2016 election, welcoming "the progress the SNP have made" on the topic.
Analysis by BBC Scotland political editor Brian Taylor
It was a historic moment. Holyrood making substantial use of income tax powers for the first time. MSPs voting for the biggest change in taxation since the advent of devolution.
As is so often the case with such moments, there was a certain lassitude about proceedings. A sense of role play. All passion spent, a sense of a token, faintly totemic debate.
I do not remotely blame our MSPs for this. The budget and tax debate has been, understandably and rightly, prolonged.
We had an outline of taxation principles, which invited a widespread debate. We then had the draft budget. After detailed and difficult negotiation, the deal between the SNP and the Greens. Then we had the stage one scrutiny, the stage one debate and vote, stage two amendments, today's tax resolution. And tomorrow, finally, the stage three vote on the budget.
All of which makes for thorough and welcome scrutiny. A job done. It adds to the sense of serious politics. At the same time, inevitably, it may remove a little of the drama. Hence the faint sense of ennui around the chamber today.
The Holyrood debate was something of a foregone conclusion, with the deal already assured of passing thanks to the SNP-Green deal.
The budget bill also won support at stage one from two Lib Dem MSPs, Tavish Scott and Liam McArthur, due to funding for ferries in their Northern Isles constituencies.
However, all other opposition MSPs voted against the budget bill, and also came out against the rates resolution.
The Scottish Conservatives argued that the "tax burden" should not be increased, saying that more than a million Scots would pay more income tax than people earning the same amount in the rest of the UK.
Finance spokesman Murdo Fraser said the SNP had broken a manifesto pledge from the 2016 elections not to increase income tax, a promise he said had been repeated 53 times during the campaign.
He contended that it was the UK government's moves to raise the tax-free allowance which had "lifted millions of the lowest paid out of tax altogether", which he said was being done "without penalising those earning a bit more".
The MSP said his party would cut out waste and "vanity projects" and prioritise growing the economy.
Labour has also stood against the changes, but for the opposite reason - they believe the plans do not go far enough.
The party set out its own alternative tax proposals shortly before the stage one vote on the budget, claiming they could raise an extra £1bn through a 50p top rate of tax and a package of other measures.
Finance spokesman James Kelly said the budget just "tinkered around the edges", saying the tax proposals "should be rejected because the SNP have failed to make the changes that would make a difference to people's lives".
He said Labour would "ask the richest to pay their fare share", adding: "What we have heard from Mr Mackay is a litany of excuses as to why he can't increase tax."
The Scottish Lib Dems meanwhile argued that the budget was a "missed opportunity", with leader Willie Rennie saying it "fails to invest the necessary funds to transform education and make a step change in mental health services".