MSPs voted 64-54 in favour of a Scottish Government motion stating that "a referendum should be held so that the people of Scotland can decide if they wish to become an independent country."
First Minister Nicola Sturgeon insisted that the case for independence is "overwhelming" as Scotland faces up to Brexit this week after a majority of people voted Remain in the EU referendum.
But pro-union leaders branded the vote a "ridiculous charade" and insisted Scots wanted to see their Government focusing on shortcomings in the NHS, education system and crime figures.
The vote is largely symbolic as the Scottish Parliament does not have control over the constitution which is reserved to Westminster. Ms Sturgeon sought a transfer of power from the Prime Minister to allow a referendum to be staged in the aftermath of the SNP's landslide victory in last month's election north of the border - but this was rejected Boris Johnson.
But Ms Sturgeon told MSPs today: "The democratic case for allowing the people of Scotland to decide whether or not to become an independent country is overwhelming."
The First Minister will now set out the "next steps" in her campaign to stage a referendum on independence this year in a flagship speech on Friday, the same day as the UK formally departs the European Union.
Ms Sturgeon branded opposition parties "anti-democratic" over their rejection of a referendum.
"It is only ever parties who know their arguments are bust who have to resort to blocking democracy," the First Minister added.
"The more contempt they show for the right of Scotland to choose its own future, the more they demonstrate the urgent need for us to become independent as the only way to protect our vital interests."
Ms Sturgeon insisted she will continue to make the case for independence which would allow Scotland to become "fairer and more prosperous."
She added: "I know not everyone agrees with my position on independence, but I'm happy to have that debate and let Scotland decide."
The vote saw the pro-independence SNP and Greens to back the motion, which was opposed by the pro-union Tories, labour and Liberal Democrats.
Tory interim leader Jackson Carlaw claimed the SNP leader knows there will not be a referendum next year after this was rejected.
"The reason we've been called here today is that she needs to convince the `Yes' movement behind her and beyond that something is happening," he said.
"I don't see why the majority of the country has to play along with this ridiculous charade."
He added: "If only this Government spent the same amount of attention on police and schools as it does on polling and spin we might have safer streets and the best schools in Europe.
"And while the SNP debate among themselves, their favoured route to another referendum, what the timetable should be and whether or not they have the approval of Westminster, most people outside the political bubble just look on in either wearied resignation or abject fury.
"The debate people outside this chamber want to see is about how to drive up education standards and give their children the solid start in life they need and deserve.
"Instead, here we go again, more time devoted to this First Minister's personal obsession at the expense of the country's real and present priorities."
Labour leader Richard Leonard accused the SNP leader of "playing game" by staging the vote.
"Nobody in this chamber really believes that there will be a referendum this year," he said.
"So Members of this Parliament are being asked to vote for what they know to be a falsehood. And many of them are prepared to do it willingly.
This debate today is not an example of a good use of power. The First Minister claims to be speaking for Scotland. But she is not even speaking to Scotland. Nicola Sturgeon is using this Parliament to speak to her own party, and she is not even telling them the truth.
"So it is a rather contemptuous use of power: the power that the government is using this parliament for this afternoon."