“So far during this decade we are seeing no sign whatsoever that real climate action is coming,” the 17-year-old eco-warrior said to a rock-star welcome from the mostly teenage crowd.
“That has to change,” she said, adding in a message to world leaders: “This is just the beginning. You haven't seen anything yet. We assure you of that!”.
Thunberg is due to address the summit in the Swiss Alpine resort of Davos next week with a call on governments and financial institutions to stop investing in fossil fuels.
Friday's carnival-like protest brought the cobbled streets of the city centre to a standstill, with demonstrators calling for urgent climate action and booing as they passed a branch of Credit Suisse, which campaigners criticise for its fossil fuel investments.
“One, two, three degrees! It's a crime against humanity!” they chanted, while a group at the head of the march held up a banner saying: “Let's Change The System, Not the Climate”.
Some of the young protesters took inspiration from the latest extreme weather events around the world.
One held up a soft toy koala with a sign around his neck reading simply “HELP” — a reference to the bushfires that have ravaged Australia, while another brandished a cardboard sign reading “Wake Up and Smell the Bushfires”.
“Fear for the glaciers”, read another sign — echoing concern among residents of the Alps about the rapidly shrinking mountain ice formations due to climate change.
“There Is No Planet B”, “I Have a Green Dream” and “We Want A Cooler Planet”, read some of the other signs.
Klimastreik Schweiz, who organised the march, said on Twitter that 15,000 people were taking part.