The First Minister spoke to crowds gathered at the Put it to the People rally which started at Hyde Park Park Corner.
Organisers claimed an estimated one million people attended the demonstration, which included bus-loads of marchers who travelled from across Scotland overnight.
The protest comes after the EU agreed to delay the UK’s departure from the EU.
Speaking to the crowd at Parliament Square, Ms Sturgeon said that Theresa May had pitched “parliament against people”
She said: “I bring with me today solidarity from Scotland. A land where 60 per cent voted to remain in the European Union. Our voice has been ignored.
“But it is not merely our voice that has been ignored - but the voice of the 48 percent who voted remain across the UK has been ignored.
“And the voice of those wanting to leave but who could never have contemplated the maze that Brexit has become. Their voice is being ignored as well.
“My message is for every European national living in the UK, in Scotland and Wales and Northern Ireland. We think you are welcome here and we want you to stay.
“What has been done to you by these Brexiteers politicians has been nothing short of desperation.”
She added: “Do you know if there was a shred of consistency in her position, the prime minister would be standing on this stage just now.
“She should be here because in that disgraceful speech she made in Downing Street on Wednesday night, pitching parliament against people, her message was that the voice of the people was being frustrated. So if that is your view, prime minister, let the people speak.”
The Put It To The People March started at Park Lane around midday and finished in Westminster at around 2pm.
Mayor of London Sadiq Khan and Great British Bake Off presenter Sandi Toksvig were also among those who gave speeches.
Patrick Harvie MSP, co-convenor of the Scottish Greens, also joined those marching for a People’s Vote on Brexit in London.
Speaking after the march, Harvie said the pressure was now on Labour leader Jeremy Corbyn to get behind the push for a referendum on the final Brexit deal.
Mr Harvie said: “With such a tremendous turnout and energy in London and many millions more across the UK making their views known by signing the petition to revoke Article 50, it’s clear that people are not going to allow the Tories to drag us into a hellish hard-right Brexit.
“I don’t expect Theresa May to suddenly start listening to other people’s views at this stage – but Jeremy Corbyn now surely must get fully behind a People’s Vote to cancel Brexit.”
David Lammy MP for Tottenham also spoke to the protesters.
He said: “They told us that we have £350 million on the NHS. They lied.
“They told us we could leave the EU with all of the benefits and none of the consequences. They lied.
“They told us we would have 40 trade deals the minute they left. They lied.
“And now we come together and say enough is enough.”